本文根据:http://www.cnblogs.com/justForMe/archive/2011/07/18/2109211.html文章整理
23种设计模式分类
一、 创建型设计模式:社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。此类模式主要提供对象初始化的解决方案。对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。
1. 单例模式 Singleton
2. 抽象工厂 Abstract Factory
3. 工厂方法 Factory Method
4. 建造模式 Builder
5. 原型模式 Prototype
二、结构型设计模式:在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。对象结构的设计很容易体现出设计人员水平的高低,这里有7个具体的结构型模式可供研究,它们分别是:
6. 组合模式 Composite
7. 外观模式 Facade
8. 代理模式 Proxy
9. 适配器模式 Adapter
10. 装饰模式 Decorator
11. 桥联模式 Bridge
12. 享元模式 Flyweight
三、行为型设计模式:在对象的结构和对象的创建问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更清晰,它们之间的协作效率就会提高,这里有11个具体的行为型模式可供研究,它们分别是:
13. 迭代器 Iterator
14. 观察者 Observer
15. 模版方法 Template Method
16. 命令 Command
17. 状态 state
18. 策略 Strategy
19. 职责链 Chain of Responsibility
20. 中介者 Mediator
21. 访问者 Visitor
22. 解释器 Interpreter
23. 备忘录 Memento