域对象模型的程序包命名约定
时间:2020-03-06 14:23:27 来源:igfitidea点击:
对于特定于域的对象模型,有哪些好的软件包命名约定?例如,假设我们有一个Person.java POJO,可以将其放入mydomain.model或者mydomain.entity或者mydomain.om(对象模型)包中。这个想法是将MVC模型对象与域对象模型分开。我们基于MVC的应用程序具有一个包含行为的模型包,但是使用该包包含我们的域对象模型似乎是不合适的,并且可能会造成混淆。
解决方案
我们选择的程序包名称是无关的。只要团队都在同一页面上,模型,域,vo,foobar都可以。我同意该程序包应仅包含没有重要业务逻辑的POJO域对象。
不仅如此,请注意命名空间的命名约定。我已经看到了名称空间名称在不同程序集中重复的情况。谈论混乱。
我个人使用" com.mycompany.domain",但这可能不是最佳答案。
我们可能想要垂直而不是水平地组织软件包以分离功能。
例如。
com.foobar.accounting.model.* com.foobar.accounting.view.* com.foobar.invoicing.model.* com.foobar.invoicing.view.*
可能比
com.foobar.model.accounting.* com.foobar.model.invoicing.* com.foobar.view.accounting.* com.foobar.view.invoicing.*