2017.09.21

2017-09-21  本文已影响0人  芝麻香油

一直以为 MVC 和三层架构是同一个东西,直到今天才明确的知道:MVC 是 MVC,三层架构是三层架构, 它们之间毫无关系。

三层架构

三层架构是系统级别的,基于业务,如下图:

真正的三层架构.JPG

整个过程:展示层发送请求到 Controller,Controller 收到请求后交给相应的 Service 去查询对应的数据,并将结果返回给展示层,最后展示层将数据显示在页面上。

三层架构是为了解决整个应用程序中各个业务过程中不同阶段的代码封装问题,包括:展示层、业务逻辑层、持久层。其中, 低层不能调用上层;同层之间可以互相调用(持久层、Controller 除外)。

特点

缺点

MVC

MVC 用于创建在域对象和 UI 表示层对象之间的区分,基于展示层的设计模式。

MVC.png

M:Model(模型层),主要负责业务逻辑以及数据库的交换
V:View(视图),用于显示数据和提交数据
C:Controller(控制器),用于捕获请求并控制请求转发

各部分之间的通信都是双向的。View 与 Model 不发生联系,都通过 Presenter 传递。View 非常薄,不部署任何业务逻辑。

各个层的作用:

好处:分离了关注点。后台代码被移到单独的类文件,可以最大限度的重复利用代码。

缺点:

联系与区别

  1. 联系
联系.png
  1. 区别

MVC 和 三层架构相同的设计理念就是:把视图设计与数据持久化进行分离,从而降低耦合性,易于扩展,提高团队开发效率。三层架构和 MVC 设计模式侧重点不一样,三层是一种笼统的架构思想,没有限制具体的设计;而 MVC 就比较具体的说明它的设计方法。

上一篇 下一篇

猜你喜欢

热点阅读