【架构】MVC模式

架构模式

  如何设计一个程序的结构,这是一门专门的学问,叫作"架构模式"(architectural pattern),属于编程的方法论。html

  MVC模式就是架构模式的一种,它不只适用于开发软件,也适用于其余普遍的设计和组织工做。web

 


MVC模式

  MVC是三个单词的首字母缩写,它们是Model(模型)View(视图)Controller(控制)编程

  这个模式认为,程序不论简单或复杂,从结构上看,均可以分红三层。小程序

  1. 最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操做界面,是程序的外壳。
  2. 最底下的一层,是核心的"数据层"(Model),也就是程序须要操做的数据或信息。
  3. 中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,而后对其进行相应的操做,产生最终结果。

  这三层是紧密联系在一块儿的,但又是互相独立的,每一层内部的变化不影响其余层。架构

  每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就能够实现模块化,修改外观或者变动数据都不用修改其余层,大大方便了维护和升级。mvc

 


程序示例

  bg2007110801.jpg

  以Windows的计算器小程序为例,解释一下MVC模式,虽然它不必定使用这个模式编写。模块化

  在这个计算器程序中,外部的那些按钮和最上面的显示条,就是"视图层",那些须要运算的数字就是"数据层",执行加减乘除的那些内部运算步骤就是"控制层"。优化

  每一层执行不一样的功能,整个程序的结构很是清楚。spa

  若是咱们扩大一点想象,就会发现,不少程序本质上都是这种模式:对外提供一组触发器(本例中是按钮),而后执行一些内部操做,最后返回结果。设计

  所以,MVC模式的应用是很是普遍的。

 


家用电器示例

  bg2007110802.jpg

  不只编写程序能够用MVC模式,家用电器也能够用。

  以家用微波炉为例,能够将它也理解成三层结构。

  最简单的状况下,微波炉的操做用两个转盘实现,一个控制温度,另外一个控制时间。这两个转盘就是"视图层"(view)而其内部的微波产生装置则是"数据层"(Model),这里的"数据"须要理解成"核心功能"。至于将用户经过转盘输入的信息,转换成对微波产生器的操做,则用"控制层"来实现。

  若是每一层都是独立的,那么微波炉外部更换一个新潮的外壳,或者内部更换更大功率的微波产生器,彻底能够在不更改其余层的状况下实现。这就是MVC模式的优点

 


人类组织示例

  若是将MVC模式解释成"外观"、"机制"和"功能/数据"这三层结构,那么不少人类组织也能够经过MVC模式架构。

  好比一家商场,彻底能够分红三部分。一部分是仓库,负责提供商品,这是"功能层"(或者"数据层");另外一部分是零售铺面,负责销售商品,这是它的"外观层";二者之间就是"机制层",包括柜台和仓库之间一切互动的机制。

  这样区分之后,这个商场的结构就变得很是清楚,能够针对不一样的层进行优化,提升效率。

 


文档信息

相关文章
相关标签/搜索