业务级对象应该如何命名?

Posted

技术标签:

【中文标题】业务级对象应该如何命名?【英文标题】:How should business level objects be named? 【发布时间】:2010-10-17 21:07:17 【问题描述】:

我们正在构建一个面向服务的系统,我们将应用程序分成几个层:

    SOAP Web 服务(例如 BuildingService.asmx) 业务逻辑层(例如 BuildingXXX) 数据访问层(例如 BuildingProvider) 类型(例如,建筑)

SOAP Web 服务只是从业务逻辑层实例化一个 BuildingXXX 类型的对象,以便将实现排除在 SOAP Web 服务之外。 BuildingXXX 然后使用来自数据访问层的 BuildingProvider 来返回在数据传输对象层中定义的类型。

我们一直无法确定我们应该在业务逻辑层中调用什么对象。

命名这些业务级实体的“标准”命名约定是什么?

【问题讨论】:

【参考方案1】:

就个人而言,我会将您的业务逻辑层服务称为“BuildingService”,然后将 Web 服务称为“BuildingWebService”。

或者,对于服务层,您也可以始终使用通用的“BuildingManager”。

【讨论】:

这似乎也最接近我们的想法,我们甚至在帖子之前提到了 BuildingManager。不过我们不考虑它,因为我们最终可能会有一个 Manager 实体,而 ManagerManager 看起来有点奇怪。最终,我们选择了 BuildingController。【参考方案2】:

命名空间是你的朋友。 BusinessLayer.Building、BusinessLayer.Facility 怎么样?使用 DataLayer.Building、DataLayer.Facility 等。您可以将事物称为它们的本来面目,但它们却是不同的事物。

【讨论】:

@Downvoter:请给出拒绝投票的原因,以便改进答案。【参考方案3】:

我会天真地使用 BuildingRules(因为它们就是这样,对吗?)但是我实际上并不知道什么是约定...

【讨论】:

【参考方案4】:

我更喜欢前缀而不是后缀,以便相关层排序在一起,例如

BizRuleBuilding,
BizRuleFacility,
...

【讨论】:

以上是关于业务级对象应该如何命名?的主要内容,如果未能解决你的问题,请参考以下文章

为啥用友u8把数据权限分配里面的业务对象没有部门?

业务领域建模Domain Modeling

业务领域建模Domain Modeling

业务领域建模Domain Modeling

业务领域建模Domain Modeling

业务领域建模Domain Modeling