【问题标题】:Pros and Cons of combining the business layer and the Data Layer in one WCF service将业务层和数据层结合在一个 WCF 服务中的优缺点
【发布时间】:2015-02-10 23:25:59
【问题描述】:

我有一个应用程序使用 3 层 2 层业务模型,即 Presentation、Business 和 Data Layers 以及 Application 和 Service Tiers .我们已经决定在其自己的层上使用 WCF 服务来处理所有数据层请求 (CRUD)。我现在的问题是是否将业务层与 WCF 服务中的数据层结合起来,然后 UI 调用处理所有业务和数据操作的服务。

我反对这个想法,因为我认为服务应该是一个愚蠢的服务,它只处理 CRUD 操作。业务层应该在应用端,但封装在自己的层中,也是唯一访问数据层的层。

我可能很傻,但我希望互联网对此事有发言权,以及任何可能的利弊。

感谢所有回复!

【问题讨论】:

    标签: wcf ado.net data-access-layer 3-tier business-logic-layer


    【解决方案1】:

    如果其他表示层(例如网站)可能需要访问业务层和数据层,那么在服务端创建以下层是有意义的:

    1. 服务端点:一个简单的数据传递,负责将传入的请求(采用您选择的技术)转换为业务层可以理解的请求。
    2. 业务层:您的域对象和业务服务以及运行业务所需的规则。该层调用您的数据层,对服务端点一无所知。
    3. 数据层:将业务领域对象简单转换为与您交互的任何对象所需的对象;无论是数据库还是第三方服务端点。

    现在,您拥有了一个很好的、可维护且可部署的微服务,该微服务特定于您的问题空间中的特定领域。

    查看Martin Fowler's article on microservices 了解有关该主题的更多详细信息。

    【讨论】:

      猜你喜欢
      • 2011-12-18
      • 2020-11-28
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 2014-04-13
      • 2012-07-12
      相关资源
      最近更新 更多