MVC和三层架构

前言

MVC中的C相当于粘合剂,将M的逻辑展示到V上,M继续往下分可划分为dao,domian,service等,进一步降低了程序中的耦合,MVC可以作为三层架构中的表现层

参考文章深入理解MVC - 知乎

什么是MVC

  1. MVC是一种分层开发的模式
  • M:model ,业务逻辑,处理业务
  • V:view,视图,界面展示
  • C:Controller,控制器,处理请求,调用模型和视图
  1. 使用MVC架构的好处
  • 职责单一,互不影响
  • 有利于分工协作
  • 有利于组件重组
  • 有利于标准化
  • 可以降低层与层之间的依赖
  1. MVC要实现的目标是将软件用户界面和业务逻辑分离以使代码可扩展性、可复用性、可维护性、灵活性加强

  2. 是一种软件设置模式

  3. 流程图

QQ_1733897973919

什么是三层架构

  1. 将业务应用划分为三层
  • 数据访问层(DAL):对数据库的CRUD基本操作,dao
  • 业务逻辑层(nll):对业务逻辑进行封装,组合数据访问层中的基本功能,形成复杂的业务逻辑功能serlvet,service
  • 表现层(ULI):展示给用户的界面,jsp/html
  1. 示意图
QQ_1733899984562
  1. 是一种分层性的软件体系架构设计

三层架构的出现是为了降低耦合度,在这里,使用面向抽象编程,也就是上层对下层的调用,直接通过接口来完成,下层对上层的真正服务提供者,是下层实现的接口实现类。
实现类是可以更换的,这就实现了层间的解耦合

MVC和三层架构之间的关系

  1. 三层架构是一个分层式的软件体系架构设计,是针对整个软件系统的解耦,各层之间通过接口进行交互;而 MVC 是一个软件设计模式,是针对 Web 系统的解耦
  2. MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的表现层也就是说, MVC把三层架构中表现层再度进行了分化,分成了控制器视图、实体三个部分
  3. MVC可以是三层中的一个表现层框架,属于表现层。三层和mvc可以共存
  4. 三层是基于业务逻辑来分的,而MVC是基于页面来分的
  5. 三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系