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