MVC(Model View Controller)模型、视图和控制器,它是1种较为广泛利用的结构设计模式。
模型:就是在MVC设计模式中需要被显示的数据。在通常情况下,该模型需要从数据库中读取数据、保存模型的状态等,提供数据的访问方法和数据的保护。
视图:就是用来显示模型中数据的用户界面,1般来书,视图就是HTML页面。
控制器:就是用来处理对用户的输入或交互命令,以便改变模型的状态,选择适当的视图来显示对应的模型数据。
(1)用户向控制器发出要求。
(2)控制器收到用户要求后,向模型要求取得相干的数据。
(3)模型将对应的数据返回给控制器。
(4)控制器将有关数据发送到指定的视图。
(5)视图将数据显现给用户。
通过上面的介绍相信大家对MVC也有了1定的了解和认识,那末MVC与本来我们学习过的3层架构到底有哪些相同点,又有哪些不同的地方呢?
MVC与3层架构的触发点事相同的――分层,解耦。它们都做到了显示与数据的分离,大大下降了系统的耦合性。
但是从专业角度来讲MVC与3层没有任何关系,3层是3层,MVC是MVC。唯1能把他们联系在1起的就是“3”这个字了,不过从初学者的角度把2者放在1起辨别起来学习也更容易理解。
可以说它们之间除相同的剩下的全是不同点。它们有着各自的工作机制详情请见下图:
3层中的UI在MVC中被分解为View和Controller,BLL和DAL被合并为Model。另外在3层中虽然叫做3层架构,但是我们可以根据需要分为多层。3层中也触及到Model,但是3层里面的Model跟MVC中的Model完全是两回事,3层中的Model是表实体,而MVC中的Model中包括业务逻辑和数据访问。
(1)易于单元测试
(2)容易实行测试驱动开发
(3)易于扩大和替换
(4)支持Web Form中的有关特性
(5)URL被映照到控制器
虽然MVC对Web Form有1些新的特性,但是MVC其实不能替换传统的Web Form技术,这两种技术只是利用在不同场景,具有不同的优、缺点。不能片面的说那种技术高那种技术低,开发者需要根据自己的实际情况选择相应的技术开发项目。以上是个人通过查阅相干资料对MVC于3层架构之间的1些认识,有不足的地方,请大家批评指正。
上一篇 XML