在一个WCF服务中组合业务层和数据层的优点和缺点

时间:2014-12-12 09:24:54

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

我的应用程序使用 3层2层业务模式,即演示文稿,业务和数据层应用程序和服务层 。我们已经决定在自己的层上使用WCF服务来处理所有数据层请求(CRUD)。我现在的问题是是否将业务层与WCF服务中的数据层相结合,然后UI调用处理所有业务和数据操作的服务。

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

我可能很愚蠢,但我希望互联网能够就此事发表意见,以及任何利弊,如果可能的话。

所有回复都表示赞赏!

1 个答案:

答案 0 :(得分:0)

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

  1. 服务端点:一种简单的数据传递,负责将您选择的技术中的传入请求转换为业务层理解的请求。
  2. 业务层:您的域对象和业务服务,包含运行业务所需的规则。该层调用您的数据层,对服务端点一无所知。
  3. 数据层:将业务域对象简单地转换为您正在与之交互的所需对象;无论是数据库还是第三方服务端点。
  4. 现在,您拥有一个适用于问题空间中特定域的漂亮,可维护且可部署的微服务。

    查看Martin Fowler's article on microservices以了解有关此主题的更多详情。