【问题标题】:Business Logic Classes Naming业务逻辑类命名
【发布时间】:2010-12-24 01:39:13
【问题描述】:

我有一个业务层,其中包含一些业务对象/POCO/实体/任何东西。我还有一些用于数据访问的存储库。到目前为止,我一直在直接从我的 UI 层访问存储库。我实际上需要更多不是直接 CRUD 的类,因此我将创建一些业务逻辑类来执行逻辑和 CRUD,并且存储库不会被不再是 UI(这可能应该从一开始就完成)。

我应该如何称呼这些课程?我唯一能想到的是服务类,但我在这个应用程序中有实际的 WCF 服务,所以这会让人感到困惑。 WCF 服务也将使用这些类,因此让服务使用服务类似乎很奇怪且令人困惑。

【问题讨论】:

    标签: c# business-logic business-objects business-logic-layer


    【解决方案1】:

    根据您的描述,听起来 WCF 类实际上是在实现服务主机。我通常用“ServiceHost”后缀来命名这些类。它将它们与实际的服务类很好地分开。

    因此,例如,您可以将业务逻辑放在名为“CustomerService”的类中,而相应的 WCF 类将命名为“CustomerServiceHost”。

    【讨论】:

      【解决方案2】:

      如果您的“服务”正在使用多个域对象编排业务逻辑,那么您很可能会实现 Facade Pattern - 所以也许您可以使用此后缀命名它们,例如 OrderManagementFacade

      【讨论】:

      • 这种模式对我来说是新的,但我喜欢它。与“服务”不同,它非常具有描述性。
      • 它是描述性的,除非没有域对象并且这些“服务”自己执行逻辑。
      【解决方案3】:

      我也使用“服务”命名约定。诚然,“服务”在业界已经成为一个超负荷的术语,但它最有意义。审查代码的开发人员应该能够确定应用程序/域服务与 WCF 服务之间的区别,虽然让 WCF 服务调用其他服务类可能看起来令人困惑,但我认为您会发现并非如此。服务的概念是它是执行功能的代码,并且可供其他代码使用。它可能是内部服务,也可能是通过 http 或其他方式对外公开的服务。但是代码的作用是一样的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-09
        • 2010-12-18
        • 1970-01-01
        • 2010-12-24
        • 1970-01-01
        • 2011-12-03
        • 2011-11-26
        相关资源
        最近更新 更多