为什么GOF的23种设计模式里面没有MVC?
来源:互联网 发布:同花顺软件乱码 编辑:程序博客网 时间:2024/04/29 14:05
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:
GoF (Gang of Four,四人组, 《Design Patterns: Elements of Reusable Object-Oriented Software》/《设计模式》一书的作者:Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides)并没有把MVC提及为一种设计模式,而是把它当做“一组用于构建用户界面的类集合”。在他们看来,它其实是其它三个经典的设计模式的演变:观察者模式(Observer)(Pub/Sub), 策略模式(Strategy)和组合模式(Composite)。根据MVC在框架中的实现不同可能还会用到工厂模式(Factory)和装饰器(Decorator)模式
正如我们所讨论的,models表示应用的数据,而views处理屏幕上展现给用户的内容。为此,MVC在核心通讯上基于推送/订阅模型(惊讶的是 在很多关于MVC的文章中并没有提及到)。当一个model变化时它对应用其它模块发出更新通知(“publishes”),订阅者 (subscriber)——通常是一个Controller,然后更新对应的view。观察者——这种自然的观察关系促进了多个view关联到同一个 model。
对于感兴趣的开发人员想更多的了解解耦性的MVC(根据不同的实现),这种模式的目标之一就是在一个主题和它的观察者之间建立一对多的关系。当这个 主题改变的时候,它的观察者也会得到更新。Views和controllers的关系稍微有点不同。Controllers帮助views对不同用户的输 入做不同的响应,是一个非常好的策略模式列子。
- 为什么GOF的23种设计模式里面没有MVC?
- 为什么23种设计模式没有 MVC
- GoF的23种设计模式名称
- 戏说GOF的23种设计模式
- GoF的23种设计模式
- GOF设计模式---23种
- GOF 23种设计模式
- GoF+23种设计模式
- GoF的设计模式
- Gof 23设计模式
- GOF 23设计模式
- GoF 种设计模式
- GOF 23种设计模式的有趣见解
- 一句话总结GOF的23种设计模式
- GOF 23种设计模式的另类解释
- GOF以及java的23种设计模式简介
- GOF以及java的23种设计模式简介
- GOF以及java的23种设计模式简介
- Tomcat在Linux上的安装与配置
- 行为型设计模式-策略模式
- 视频会议中MCU的作用是什么
- 避免数字计算精度误差的方法详解
- CentOS7下安装mysql5.7过程,及忘记密码的处理
- 为什么GOF的23种设计模式里面没有MVC?
- centos7 ping外网问题
- windows电脑快速进入当前文件夹的命令行模式
- Android TableLayout的使用
- redis配置详解
- 有一句妈卖批,我一定要讲。
- stmdb和ldmia指令
- VS项目工程目录设置详细说明
- ES6 Number