演示,服务和DAO层关系

时间:2012-12-04 11:23:58

标签: architecture data-access-layer relationship business-logic-layer presentation-layer

我对这个问题已经考虑了很多,但在这方面找不到一些明确的答案:

正如我上次所理解的那样,业务层应仅适用于模型对象。它不应该知道我们如何获取这些数据。它允许我们独立于DAO使用业务层API。

因此,在Service层内使用DAO方法调用是否正常,或者我们应该尝试减少它们之间的依赖关系。因此,我看到了两层之间关系的两种变体:

  1. 控制器 - >服务 - >道
  2. 1步:modelObject = Controller - >道郎     2步:控制器 - >服务(modelObject)
  3. 那么,哪种变体是对的?

1 个答案:

答案 0 :(得分:0)

在旧架构中有2层客户端和服务器。服务器保存所有数据库信息和逻辑。但是,三层架构带来了明确的封装和层之间的清晰抽象。在两层架构中没有良好的封装和抽象和可维护性程度,扩展能力是一个问题,因为层之间没有明确的封装和抽象。客户层不直接调用服务。而是使用代理来调用服务。对于客户端,它充当本地计算机程序所以,客户端通过代理呼叫服务在中间层的服务器中。在中间层你可以假设可以有控制器,服务,serviceImpl,模型没有任何数据库相关的东西。有硬性和快速的规则什么可以在第三层有数据库.Assume dao作为返回数据库相关结果的容器。客户端应该通过服务传递调用a nd dao应该通过服务将结果传递给客户端。