设计模式的主要目的就是要建立面向对象的思想,尽可能的面向接口编程,低耦合,高内聚,使程序尽可能的复用。
一.创建型模式
由于需要满足软件设计方面的分工合作,对象的创建和对象的使用分开成为了必然趋势。因为对象的创建会消耗很多资源,所以单独对对象的创建进行研究,从而能够高效的创建对象就是创建型模式要探讨的问题。以下是六个具体的创建型模式。
1.简单工厂模式(simple factory)
2.工厂方法模式(factory method)
3.抽象工厂模式(abstract factory)
4.创建者模式(builder)
5.原型模式(prototype)
6.单例模式(singleton)
二.结构型模式
在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了研究人员关注的焦点,因为如何设计对象的结构,继承和依赖关系会影响到后续程序的维护性,代码的健壮性,耦合性等。对象结构的设计很容易体现设计人员水平的高低,下面是七个具体的结构性模式
1.外观模式(facade)
2.适配器模式(adapter)
3.代理模式(proxy)
4.装饰模式(decorator)
5.桥模式(bridge)
6.组合模式(composite)
7.亨元模式(flyweight)
三.行为模式
在对象的创建和结构问题都解决了之后,就剩下对象的行为问题了,如果对象的行为设计的好,那么对象的行为就会更加清晰,他们之间的协作效率就会提高,以下是十一个具体的行为模式
1.模板方法模式(template method)
2.观察者模式(observer)
3.状态模式(state)
4.策略模式(strategy)
5.职责链模式(chain of responsibility)
6.命令模式(command)
7.访问者模式(visitor)
8.调停者模式(mediator)
9.备忘录模式(memento)
10.迭代器模式(iterator)
11.解释器模式(interpreter)