一、设计模式的必要性
编写软件过程中,程序员面临着来自耦合性、内聚性、可维护性、可扩展性、重用性以及灵活性等多方面挑战,设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。
二、设计模式的优点
1. 可以提高程序员的思维能力、编程能力和设计能力。
2. 使程序设计更加标准化、代码编制更加工程化,提高软件开发效率。
3. 提高代码的可重用性、可读性、可靠性、灵活性及可维护性。
分享金句:
设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要”
三、设计模式分类
1. 创建型模式(描述怎样创建对象,将对象的创建和使用分离)
单例、原型、工厂方法、抽象工厂、建造者等5种。
2. 结构型模式(描述如何将类或对象按某种布局组成更大的结构)
代理、适配器、桥接、装饰、外观、享元、组合等7种。
3. 行为型模式(描述类或对象之间怎样协作共同完成单个对象无法单独完成的任务,以及怎样分配职责)
模版方法、策略、命令、职责链、状态、观察者、中介者、迭代器、访问者、备忘录、解释器等11种。