三层架构 和 MVC的联系与区分

来源:互联网 发布:小米平板2怎么关闭优化 编辑:程序博客网 时间:2024/06/07 20:05

三层架构和MVC的联系与区分


一.关于三层架构和mvc的概念与定义:

三层架构分为

表现层UI:主要是指与用户交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据。

业务逻辑层BLL:UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则D等等。

数据访问层DLL:与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再一一返回,直到将用户所需数据反馈给用户)。

MVC分为

Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据) 和 服务层(行为)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。

View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。

Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。 也就是说控制器做了个调度员的工作。

二.分析MVC和三层架构的区别

看了两者的定义,是不是觉得感觉很差不多,简直是一样的嘛,那么请看下面的图

这里写图片描述


三层架构和MVC并不是UI对VIEW,BLL对Controller,DLL对Model两两一一对应 的关系,UI包括View和Controller,DAL和DLL都属于Model。
再者,两者所为的作用也不同:
三层架构 主要是为了高内聚,降低耦合,即解耦;
MVC 主要是为了实现Web系统的职能分工,即职责划分。

原创粉丝点击