MVC模式理解
MVC模式把软件组织架构分解成3个清晰的任务:Model结合了应用数据,应用流程以及业务逻辑;View从Model中提取数据并呈现出来;Controller调用应用流程,接收输入并传送给Model和View。
也可以这样理解,模型Model是应用对象,视图View是它在屏幕上的表示,控制器Controller定义用户界面对用户输入的响应方式。使用MVC,可以避免用户界面设计对象混扎不堪,并将它们分离以提高灵活性和复用性。
不像其他的设计模式,MVC模式不是一个注重于讲述一种可以直接设计编码的类结构的模式。相反,它不仅仅是概念上的指导或范例。在概念上,MVC模式的定义的是Model,View以及Controller三者之间的桥梁。Controller以及View都依赖于Model,因为View和Controller都得向Model发送数据请求。数据通过Controller输入到你的系统当中,并最终通过View显示出结果。更具体的来说,Controller处理每一个外部的http请求,而View将产生http回应。如下图所示:

在理想MVC环境下,通讯是直接的,过程如下图所示:

当然,具体到细节上就有些差异了。当在web应用里实施MVC时,在单一的类中不会出现Model,View以及Controller,MVC把各组对象紧密地连接起来,每组对象实现一种特定的任务。Controller可以由几类组成,用来分析http请求,以确定应用程序所要进行的处理动作。Model一般是由很多类组成。web应用里的View通常是一种摸版体系,可以由一些对象组成。View必须保证它的显示正确地反映了Model的状态。一旦Model的数据发生变化,Model将通知有关的View,每个View相应地得到刷新自己的机会。这种方法可以让你为一个Model提供不同的多个View表现形式,也能够为一个Model创建新的View而无须重写Model。
下图显示了一个Model和三个View(为了简单起见我们省略了Controller)。Model包含一些数据值,视图通过电子表格、柱状图、饼图这些不同的方式来显示这些数据。当Model的数据发生变化时,Model就通知它的View,而View将与Model通信以访问这些数据值。如下图所示:

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments
还没有评论。
发表评论