MVC分层架构

来源:互联网 发布:git ssh 端口 编辑:程序博客网 时间:2024/06/02 03:46

MVC即模型-视图-控制器,将应用程序的逻辑层与展现层进行分离的一种设计模式。

传统的MVC包括三个方面:模型、视图、控制器。

这里写图片描述

模型,关注数据处理;
视图,关注数据显示和报表处理;
控制器,负责协调模型和视图

M:Model层主要负责要处理的业务代码和数据操作代码
V:View向用户展示数据,通常指用户看到的界面,通常由Html+js+css组成
C:用于模型和视图的协调,保证数据的同步,一旦模型发生改变视图也会同步进行改变。
(视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码)

使用mvc的原因

MVC中V负责显示数据,而显示的数据若想要改变,只要变动V中的代码,C和M层中的代码并不需要改变。

mvc的优点:

1.耦合性低(视图层和业务层分离,更改视图层代码,不用重新编译模型和控制器代码)
2.重用性高(多个视图能共享一个模型)
3.生命周期成本低(mvc开发和维护用户接口的技术含量降低)
4.部署快(mvc模式开发时间短,是程序员集中处理业务逻辑)
5.可维护性高(分离视图和业务逻辑层跟易于维护和修改)
6.有利于软件工程化的管理(通过工程化和工具化管理程序)

缺点

1.没有明确的定义
2.不适合小型,中等规模的应用程序
3.增加系统结构和实现的复杂性
4.视图与控制器间的过于紧密的连接
5.视图对模型数据的低效率访问
6.一般高级的界面工具或构造器不支持模式

三层架构

三层架构重点内容分层架构一般为三层:表示层、业务逻辑层(或领域层)、数据访问层。

这里写图片描述

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

五层架构
五层架构:用户界面层、控制层、业务逻辑层、数据持久层、系统服务层

这里写图片描述

用户界面层:即网页,用户能实实在在看得到的,能进行操作的界面;
控制层:控制用户界面层和业务逻辑层进行数据交互,对于Struts2而言就是Action;
业务逻辑层:针对具体问题的操作,对业务逻辑的处理;
数据持久层:控制事务,直接操作数据库,对数据进行CRUD操作(即数据的增、删、改、查),即Hibernate或MyBatis负责与数据库的通信;
系统服务层:即提供公共的服务性功能,供各个操作层使用。