23种设计模式的分类
概念
设计模式是一套被反复使用、多数人知晓的、经过分类编目、代码设计经验的总结,也是解决某类问题的最佳实践。
它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,他说解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。
必要性
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。
正确的使用设计模式具有下面优点
- 可以提高我们的思维能力、编程能力和设计能力。
- 使程序设计更加标准化、代码更加工程化、使软件开发效率大大提高,从而缩短软件的开发周期。
- 使设计的代码可复用性高、可读性强、可维护性强。
分类
- 创建型模式
用于描述“怎样创建对象”,它的主要特点是“将对象的创建和使用分离”。GoF书中提供了 单例
、原型
、 工厂方法
、抽象工厂
、建造者
等4种创建型模式
- 结构型模式
用于描述“如何将类或对象按某种布局组成更大的结构”,GoF书中提供了 代理
、适配器
、桥接
、装饰
、外观
、享元
、组合
等7种结构型模式
- 行为型模式
用于描述“类或对象之间怎么样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责”,GoF书中提供了模版方法
、策略
、命令
、职责链
、状态
、观察者
、中介者
、迭代器
、访问者
、备忘录
、解释器
等11种行为型模式