2009-12-07 162 views
16

我有一个业务层有一些业务对象/ POCOs /实体/无论。我也有一些数据访问存储库。直到这一点,我一直直接从我的UI层访问存储库。我现在需要一些不是直接CRUD的类,所以我将创建一些业务逻辑类来完成逻辑,CRUD和存储库不会被用户界面(这应该从一开始就已经完成)。业务逻辑类命名

我该怎么称呼这些类?我唯一能想到的就是服务类,但是我在这个应用程序中有实际的WCF服务,所以这会让人感到困惑。 WCF服务也将使用这些类,因此使服务类使用服务看起来很奇怪和令人困惑。

回答

11

我也使用“服务”命名约定。确实,“服务”已成为行业中一个非常超负荷的术语,但它是最有意义的。审查代码的开发人员应该能够确定应用程序/域服务与WCF服务之间的区别,并且在有WCF服务调用其他服务类时可能会让人困惑,但我认为您会发现它不是。服务的理念在于它是执行功能的代码,可供其他代码使用。它可能是一个内部服务,或者它可能是一个通过http或任何外部公开的服务。但是代码的作用是一样的。

3

如果你的“服务”使用的是数域对象的编排业务逻辑,你有可能实现Facade Pattern - 所以,或许你可以用这个后缀名他们,如OrderManagementFacade

+0

这种模式对我来说是新的,但我喜欢它。与“服务”不同,它非常具有描述性。 – 2016-08-11 20:25:01

+0

它是描述性的,除非没有域对象,并且这些“服务”自己执行逻辑。 – Vakho 2017-10-12 08:18:26

3

从你的描述,这听起来像WCF类实际上正在实施服务主机。我通常用“ServiceHost”后缀命名这些类。它将它们与实际的服务类别很好地分开。因此,例如,您将在名为“CustomerService”的类中拥有业务逻辑,并将相应的WCF类命名为“CustomerServiceHost”。