设计模式核心:提供了相关问题的解决方案,使得人们可以更加简单方便地复用成功的设计和体系结构。
基本要素:
①模式名称Pattern Name:用一两个词来描述模式的问题、解决方案和效果。
②问题Problem:描述了应该在何时使用模式。解释了设计问题和问题存在的前因后果,可能描述了特定的设计问题,怎样用对象表示算法等;也可能描述了导致不灵活设计的类或对象结构。
③解决方案Solution:解决方案描述了设计的组成成分、它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同的场合。
④效果Consequences:描述了模式应用的效果及使用模式应权衡的问题。
设计模式分类:
创建型:
1.抽象工厂Abstract Factory
2.生成器Builder
3.工厂方法Factory Method
4.原型Prototype
5.单例Singleton
结构型:
1.适配器Adapter
2.桥接Bridge
3.组合Composite
4.装饰Decorator
5.外观Facade
6.享元Flyweight
7.代理Proxy
行为型:
1.责任/职责链Chain of Responsibility
2.命令Command
3.解释器Interpreter
4.迭代器Iterator
5.中介者Mediator
6.备忘录Memento
7.观察者Observer
8.状态State
9.策略Strategy
10.模板方法Template Method
11.访问者Visitor