所谓 设计模式 就是人们将开发中反复遇到的问题总结出来的解决方法。
设计源自生活,一切设计模式都可以用现实可以想象的世界来构造。如何将其中的概念、原理使用通俗易懂,更形象的话来描述,是我的初衷。
| 范围\目的 | 创建型 | 结构型 | 行为型 |
|---|---|---|---|
| 类模式 | 工厂方法模式 | (类)适配器模式 | 解释器模式 模板方法模式 |
| 对象模式 | 抽象工厂模式 建造者模式 原型模式 单例模式 |
(对象)适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 |
职责链模式 命令模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 策略模式 访问者模式 |
根据目的、用途的不同,这些模式大体上可以分成三类。
创建型设计模式 就是一些关于 创建对象的方式。你可以根据实际情况来选择使用合适的方式来创建对象。
传统的对象创建方式 new class 可能会带来一些设计问题,或者增加设计的复杂度。
使用合适的创建型设计模式你就可以解决这个问题。
结构型设计模式 就是描述 如何将类和对象组合在一起形成更大的结构。
就像 搭积木,你可用通过将简单积木进行组合从而形成复杂的、功能更强大的结构。
行为型设计模式 就是描述 类或对象的交互以及职责分配。
根据处理范围不同,设计模式又可以分为类模式和对象模式。
类模式 处理类和子类的关系,通过处理这些关系来建立继承,属于 静态关系,在编译时候确定下来。
对象模式 处理对象之间的关系,运行时发生变化,属于 动态关系。
可以根据参数的不同返回不同类的实例。
定义对象间一对多的依赖关系,当对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。
对象有某个行为,但是在不同的场景下,该行为有不同的实现算法。
四、更多类型