引言

三层架构和 MVC 架构是有明显区别的,MVC 架构应该是展现模式, M(Model)、V(View)、C(Controller)三个加起来以后才是三层架构中的 UI 层(表现层)

三层架构

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

  • 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
  • 服务层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
  • 持久层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。

MVC 架构

MVC 架构(Model-View-Controller),严格说这三个加起来以后才是三层架构中的 UI 层,也就是说,MVC 模式把三层架构中的 UI 层再度进行了分化,分成了控制器、视图、模型三个部分。

  • 模型(Model):就是要显示的页面数据
  • 视图(View):就是要显示的页面本身
  • 控制器(Controller):就是完成页面逻辑,即获取页面数据和显示的页面视图,并进行页面渲染为最终展示效果

三层架构与 MVC 架构区别

  • 三层架构是基于业务逻辑来划分的,而 MVC 架构是基于页面来划分的
  • 三层架构是采用分层的设计思想,而 MVC 架构不是分层而是按照职责划分的
  • 三层架构主要用于软件体系架构,MVC 架构主要用于表现层