苦逼也聊模式–开篇

作者: howie 分类: 设计模式 发布时间: 2017-09-07 15:10

模式的起源来自建筑,哈佛大学的建筑学博士亚历山大,进行了大量的调查研究发现人们对舒适住宅和城市环境存在一些共同的认同规律从而归纳出了253个模式。
这些个模式作为一个整体,作为一种语言,掌握了它们就可以随心所欲的“写文章”,创造出千变万化的建筑组合。
每一个模式都从前提条件、目标问题、 解决方案三个方面进行了描述,并给出了从需求分析到结构设计再到经典实例的过程模型。
所以,对模式的定义可以抽象为在特定环境下,人们为了解决某类重复出现问题,而总结归纳出来的有效解决方案。

受到《建筑模式语言》启发,GOF将模式的概念引入软件工程领域,标志着软件模式的诞生。软件模式并非仅限于设计模式,还包括架构模式、分析模式和过程模式等,实际上,在软件开发生命周期的每一个阶段都存在着一些被认同的模式。
95年的时候GoF将收集整理的23种模式 组成了设计模式一书,标志着设计模式正式成为面向对象版软件工程的一个重要研究分支。

 

为什么需要设计模式?
设计模式是艺术,如果你知道什么是美;那么你需要一种手段去达到这种美。
高内聚,低耦合!

 

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。