为新的子业务单元正确命名命名空间
本文关键字:命名空间 单元 业务 | 更新日期: 2023-09-27 18:21:38
我们有当前的结构:
- BusinessName.Common-常见实体、类、实用程序
- BusinessName.Services-商业服务
我们正在增加一个名为"医疗"的子单元,它将包含类似的结构。我一直在决定最好的命名惯例。
选项1
- 商业名称.医学.社区
- 商业名称.医疗.服务
选项2:
- BusinessName.Common.Medical
- 企业名称.服务.医疗
最终会有更多这样的子单位。
我会坚持选项1,因为每个域都应该模仿相同的子命名空间命名方案。
如果您将BusinessName.Common
称为跨所有域的共享库(您称之为单位…),则特定域的公共成员属于整个域,因此,您的命名方案应该是BusinessName.[DomainName].Common
、BusinessName.[DomainName].Services
。
无论如何,让我为这个答案增加更多的价值。您说过Common
项目/命名空间将包含公共实体、类和实用程序。我不同意这一点。公共库应该是跨层库(垂直)。我的建议是,你应该这样组织你的解决方案:
BusinessName.Common
:基础设施代码。任何与域相关的代码都不应该在这里。这里的类、接口和枚举应该可以从任何层和层使用BusinessName.Domain
:公共域实体和服务。我会把公共域接口,抽象类,基类放在这里BusinessName.Domain.[SomeDomain]
。例如CCD_ 8。我会把关于领域的一切都放在这里。在一个特定的域中,没有任何其他域的公共实体,因为这会破坏在域中组织项目的目的
在我自己的项目中,我更喜欢使用Shared
标识符而不是Common
,但这只是我的观点。