业务逻辑类的命名

25
我有一个业务层,其中包含一些业务对象/POCOs/实体等。我还有一些用于数据访问的存储库。到目前为止,我一直直接从我的UI层访问这些存储库。我已经到了需要一些不是简单CRUD的类的点,因此我将创建一些业务逻辑类来处理逻辑和CRUD,并且UI将不再访问存储库(这可能应该从一开始就这样做)。
我应该如何称呼这些类?我唯一能想到的是服务类,但是在这个应用程序中我有实际的WCF服务,这会导致混淆。WCF服务也将使用这些类,因此让一个服务使用另一个服务类似而令人困惑。
3个回答

18

我也使用“服务”命名约定。虽然在行业中,“服务”一词已经变得非常混乱,但它是最合理的。开发人员在审核代码时应该能够确定应用程序/领域服务与WCF服务之间的区别,虽然让一个WCF服务调用其他服务类可能看起来令人困惑,但我认为你会发现它并不是这样。服务的概念是它是执行某个功能的代码,并且可供其他代码使用。它可能是一个内部服务,也可能是通过HTTP或其他方式外部公开的服务,但代码的作用是相同的。


5

如果你的“服务”是使用多个领域对象编排业务逻辑,那么你可能正在实现外观模式 - 因此你可以用这个后缀来命名它们,例如OrderManagementFacade


这个模式对我来说是新的,但我喜欢它。它非常描述性,不像“服务”。 - Timothy Gonzalez
除非没有领域对象并且这些“服务”自己执行逻辑,否则它是描述性的。 - Vakhtang

4
根据您的描述,WCF类实际上是实现服务主机的。我通常会在这种类的名称后面添加“ServiceHost”后缀。这样可以将它们与实际的服务类分开。因此,例如,您会在名为“CustomerService”的类中编写业务逻辑代码,对应的WCF类将被命名为“CustomerServiceHost”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接