MVC模式与三层架构

ε祈祈猫儿з 提交于 2020-02-27 08:34:31

MVC模式

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

它属于设计模式的范畴,就如同其他设计模式一样,模式的出现就是为了对某种功能的优化,而MVC模式可以看做是对三层架构中表现层的一种细分优化。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

在这里插入图片描述

  • M:Model 模型
    主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型 与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性
  • V:View 视图
    用户与之交互的界面、在web中视图一般由jsp,html组成
  • C:Controller 控制器
    接收来自界面的请求 并交给模型进行数据处理后展示到视图,或者直接由视图展示。 在这个过程中控制器不做任何处理只是起到了一个连接的做用

主要功能
模型(JavaBean):业务逻辑操作,比如封装数据,处理业务数据(调用数据库)
视图(JSP):展示数据
控制器(Servlet):获取客户端的输入,调用模型,查询数据获取数据,将数据交给视图展示
‘

优缺点:
优点:

  1. 耦合度低,三者各司其职,方便维护,利于分工。
  2. 重用性高
    缺点:
  3. 使得项目架构变得复杂,对开发人员要求

三层架构

  1. 界面层(表示层) 用户看的界面。 用户可以用过界面上的组件和服务器进行交互
  2. 业务逻辑层:处理业务逻辑
  3. 数据访问层:操作数据存储文件

在这里插入图片描述
MVC与三层架构的关系
MVC并不等同于三层架构,MVC只是三层架构中web层/界面层中的一种框架。而三层架构是一种设计模式。

框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!