领域对象模型的包命名约定
-
01-07-2019 - |
题
对于特定领域的对象模型,有哪些好的包命名约定。例如,假设您有一个 人.java POJO,你能把它放在一个 mydomain.model 或者 mydomain.entity 或者 mydomain.om (对象模型)包。这个想法是将 MVC 模型对象与域对象模型分开。我们基于 MVC 的应用程序有一个 模型 包含行为的包,但使用该包来包含我们的域对象模型似乎不合适并且可能会造成混乱。
解决方案
我个人使用“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.*
您选择的包名称无关紧要。模型对比域名对比vo vs.只要您的团队都在同一页面上,foobar 就没有问题。我同意这个包应该只包含 POJO 域对象,没有重要的业务逻辑。
不仅如此,请注意命名空间的命名约定。我见过命名空间名称在不同程序集中重复的情况。谈论困惑。
不隶属于 StackOverflow