设计模式解决的问题
软件工程中,设计模式(design pattern)
是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
设计模式的目的
编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性
等多方面的挑战,设计模式是为了让程序(软件),具有以下特性:
- 代码重用性 (即:相同功能的代码,不用多次编写)
- 可读性 (即:编程规范性, 便于其他程序员的阅读和理解)
- 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护)
- 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响)
- 使程序呈现高内聚,低耦合的特性
设计模式介绍
设计模式的本质提高软件的维护性,通用性和扩展性,并降低软件的复杂度
。
设计模式类型
创建型模式
:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式。
结构型模式
:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式
:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter 模式)、状态模式、策略模式、职责链模式(责任链模式)。