设计模式的目的
- 为了解决某一类问题的通用解决方案
- 代码重用性
- 可读性
- 可扩展性(需要增加新的功能时,非常的方便)
- 可靠性(当我们增加了新的功能后,对原来的功能没有任何的影响)
- 使程序呈现高内聚,低耦合的特性(依赖性很低,如果被依赖的模块出现了问题尽量在模块内解决,不要把错误带到依赖你的模块中)
设计模式的分类
设计模式分为三种类型,共23种
- 创建型模式(解决对象的创建问题):单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式
- 结构型模式(如何让软件结构有伸缩性和弹性,并且使扩展性良好):适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
- 行为模式(站在方法的角度,如何设计方法更合理):模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式