网络上大多数地方在说到三层架构和MVC的区别的时候,都说MVC是把三层架构中表现层分离出来,在进行进一步的划分。甚至在描述到这一块时,词语,标点符号都一模一样。但这种观点并不正确。
三层架构:
1:数据访问层:主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。
2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
3:界面层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
MVC:
模型,视图,控制器;
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。视图只负责一个职责,向模型传输数据,根据模型返回的数据决定显示什么界面。而模型里面,又可以分层,进行数据的校验,过滤,等一系列业务逻辑的处理,并与数据库进行交互。
区别:
MVC把三层架构中的业务逻辑中的控制器分离出来了,把业务逻辑中的剩余部分分离到模型中去了。控制器只负责数据的传输和页面的调用。
原文地址:http://blog.51cto.com/13468761/2343825
时间: 2024-10-10 16:52:24