业务级对象应该如何命名?
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,
...
【讨论】:
以上是关于业务级对象应该如何命名?的主要内容,如果未能解决你的问题,请参考以下文章