zoukankan      html  css  js  c++  java
  • 【转】浅谈MVC与三层架构

      首先给大家引入下MVC的概念:

      MVC(Model View Controller)模型、视图以及控制器,它是一种较为广泛应用的结构设计模式。

      模型:就是在MVC设计模式中需要被显示的数据。在通常情况下,该模型需要从数据库中读取数据、保存模型的状态等,提供数据的访问方法以及数据的维护。

      视图:就是用来显示模型中数据的用户界面,一般来书,视图就是HTML页面。

      控制器:就是用来处理对用户的输入或者交互命令,以便改变模型的状态,选择适当的视图来显示对应的模型数据。

      工作机制如右图所示:

      (1)用户向控制器发出请求。

      (2)控制器收到用户请求后,向模型请求获得相关的数据。

      (3)模型将对应的数据返回给控制器。

      (4)控制器将有关数据发送到指定的视图。

      (5)视图将数据呈现给用户。

      通过上面的介绍相信大家对于MVC也有了一定的了解和认识,那么MVC与原先我们学习过的三层架构到底有哪些相同点,又有哪些不同之处呢?

      MVC与三层的共同点:

      MVC与三层架构的触发点事相同的——分层,解耦。它们都做到了显示与数据的分离,大大降低了系统的耦合性。

      但是从专业角度来说MVC与三层没有任何关系,三层是三层,MVC是MVC。唯一能把他们联系在一起的就是“三”这个字了,不过从初学者的角度把二者放在一起区分起来学习也更容易理解。

      MVC与三层的不同点:

      可以说它们之间除了相同的剩下的全是不同点。它们有着各自的工作机制详情请见下图:

     

      三层中的UI在MVC中被分解为View和Controller,BLL和DAL被合并为Model。另外在三层中虽然叫做三层架构,但是我们可以根据需要分为多层。三层中也涉及到Model,但是三层里面的Model跟MVC中的Model完全是两回事,三层中的Model是表实体,而MVC中的Model中包括业务逻辑和数据访问。

      MVC对于Web Form的特点:

      (1)易于单元测试

      (2)容易实施测试驱动开发

      (3)易于扩展和替换

      (4)支持Web Form中的有关特性

      (5)URL被映射到控制器

      虽然MVC对于Web Form有一些新的特性,但是MVC并不能替代传统的Web Form技术,这两种技术只是应用在不同场景,具有不同的优、缺点。不能片面的说那种技术高那种技术低,开发者需要根据自己的实际情况选择相应的技术开发项目。以上是个人通过查阅相关资料对MVC于三层架构之间的一些认识,有不足之处,请大家批评指正。

    转:http://blog.csdn.net/u010926964/article/details/41598729

  • 相关阅读:
    A1023 Have Fun with Numbers (20分)(大整数四则运算)
    A1096 Consecutive Factors (20分)(质数分解)
    A1078 Hashing (25分)(哈希表、平方探测法)
    A1015 Reversible Primes (20分)(素数判断,进制转换)
    A1081 Rational Sum (20分)
    A1088 Rational Arithmetic (20分)
    A1049 Counting Ones (30分)
    A1008 Elevator (20分)
    A1059 Prime Factors (25分)
    A1155 Heap Paths (30分)
  • 原文地址:https://www.cnblogs.com/hycms/p/5250213.html
Copyright © 2011-2022 走看看