用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架.它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难.对一个开发者来说,就可以专注于业务模型的设计.MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据.抽象与具体不能隔得太远,也不能太近.MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性.我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些.这点对编程的开发人员非常重要.业务模型还有一个很重要的模型那就是数据模型.数据模型主要指实体对象的数据保存(持续化).比如将一张订单保存到数据库,从数据库获取订单.我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中.控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求.划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求.控制层并不做任何的数据处理.例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户.因此,一个模型可能对应多个视图,一个视图可能对应多个模型.模型,视图与控制器的分离,使得一个模型可以具有多个显示视图.如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化.因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新.这实际上是一种模型的变化-传播机制.模型,视图,控制器三者之间的关系和各自的主要功能,如图1所示.
[8]
购买论文和程序请加QQ:631633191联系登录www.3a3b.3710167@qq.com
购买论文和程序请加QQ:631633191联系登录www.3a3b.3710167@qq.com
2.2.2MVC的具体实现视图是模型的表示,它提供用户交互界面.使用多个包含单显示页面的用户部件,复杂的Web页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些Web页面的开发和维护.在ASP.
NET下,视图的实现很简单.可以像开发WINDOWS界面一样直接在集成开发环境下通过拖动控件来完成页面开发本.本文中介绍每一个页面都采用复合视图的形式即:一个页面由多个子视图(用户部件)组成;子视图可以是最简单HTML控件,服务器控件或多个控件嵌套构而成的Web自定义控件.页面都由模板定义,模板定义了页面的布局,用户部件的