简介


MVC模式的含义

MVC是一种框架模式(但还是被放在了设计模式里讲述……

  • model
    • 表示一个存取数据的对象,可以带有逻辑
    • 在数据变化的时候更新controller
  • view
    • 视图,代表model包含的数据的可视化
  • controller
    • 作用于model与view上,控制数据流向model对象,并在data变化的时候更新view
    • 使view和model(数据)分开

      MVC模式的示意图

      MVC.png
      该图主要展示的是依赖关系、关联关系。

      实现

      MVC模型主要的目标就是实现视图数据模型的解耦合,使用控制器持有它们的实例并实现他们之间的数据交互

      MVC特点


  • 优点
    • 耦合度低,可维护性高
    • 复用性高,比如多个视图可以共享同一个模型
    • 生命周期成本低,维护接口所需的技术含量降低了
    • 部署快,开发时间缩短
  • 缺点
    • 复杂性较高,效率降低
    • 视图与控制器并没有涉及的那么理想,联系过于紧密

      设计模式、框架模式、框架


重用的级别

在软件生产中,有三种级别的重用:

  • 内部重用
    • 在一个应用中,能公共使用的抽象块
  • 代码重用
    • 将通用的模块组合成库/工具集
  • 框架重用
    • 为某个领域提供的通用基础结构,这是最高级别的重用

框架通常是代码重用,而设计模式通常是设计重用;两者之间为架构重用,两者都沾点边

框架与设计模式

  • 框架是可以用代码表示,能够直接执行或者复用的
    • 一个框架往往包含若干设计模式
  • 模式则更为抽象,是对某种环境下常见的问题及其解决方案的描述
    • 一种模式可以适用于各种应用

举个例子,MVC框架是MVC模式的实现,而MVC框架中,可以包含单例模式、工厂模式等等设计模式。所以某种意义上而言,将MVC归纳为设计模式是不太合理的。