MVC模式
MVC模式是软件工程中常见的一种软件架构模式,该模式把软件系统(项目)分为了三个基本部分:模型(Model)、视图(View)、控制器(Controller)。
视图(View)
负责界面的显示,以及与用户的交互功能,例如表单、网页等
控制器(Controller)
控制器用来接收用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和任何处理。只是接收请求并决定调用哪个模型结构去处理请求,然后再确定用哪个视图来显示返回的数据。
可以理解为一个分发器,用来决定对于视图发来的请求,需要用哪个模型进行处理,以及处理完成后需要跳回到哪一个视图。即用来连接视图和模型。
模型(Model)
模型持有所有的数据、状态和程序逻辑。模型接收视图数据的请求,并返回最终处理结果。
MVC模式的流程如下:浏览器通过视图向控制器发出请求,控制器收到请求后通过选择模型进行处理,处理完请求后再转发到视图,进行视图界面的渲染并做出最终响应。
在MVC模式中,视图view可以用JS/HTML/CSS实现,模型Model可以用JavaBean实现,而控制器Control可以用Servlet实现。
三层架构
三层指的是:表示层(USL , User Show Layer)、业务逻辑层(BLL , Business Logic Layer)和数据访问层(DAL , Data Access Layer)。三层中使用的数据,是通过实体类来传递的。
数据访问层
与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。
业务逻辑层
位于三层的中间层,起到数据交换的承上启下作用,用于对业务逻辑的封装。主要负责对数据层的操作,实现业务的逻辑。
表现层
主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。
优点与缺点
优点:
- 1、结构清晰、耦合度低
- 2、可维护性高,可扩展性高
- 3、利于开发任务同步进行, 容易适应需求变化
- 4、增强可重用性、移植性
缺点:
- 降低了系统的性能。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成
- 增加了代码量,增加了工作量
前后端分离
前后端彻底分离这一时期,前端的范围被扩展,controller层也被认为属于前端的一部分。在这一时期:
- 前端负责View和Controller层
- 后端负责Model,业务/数据处理等