设计模式主要有三大类:
创建模式:
对类的实例化过程的抽象。一些系统在创建对象时,需要动态地决定怎样创建对象,创建哪些对象,以及如何组合和表示这些对象。创建模式描述了怎样构造和封装这些动态的决定。包含类的创建模式和对象的创建模式。创建型模式包括:单例模式,抽象工厂模式,建造者模式,工厂模式,原型模式。
结构模式:
描述如何将类或对象结合在一起形成更大的结构。分为类的结构模式和对象的结构模式。类的结构模式使用继承把类,接口等组合在一起,以形成更大的结构。类的结构模式是静态的。对象的结构模式描述怎样把各种不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。该模式包括:适配器模式,桥接模式(将抽象部分与它的实现部分相分离),装饰模式,组合模式,外观模式,享元模式,代理模式。
行为模式:
对在不同的对象之间划分责任和算法的抽象化。不仅仅是关于类和对象的,并是关于他们之间的相互作用。类的行为模式使用继承关系在几个类之间分配行为。对象的行为模式则使用对象的聚合来分配行为。该模式包括:模版方法模式,命令模式,迭代器模式,观察者模式(定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有的依赖它的对象都得到通知并且刷新),中介者模式,备忘录模式,解释器模式,状态模式,策略模式,职责链模式,访问者模式。
该链接对于设计模式的描述比较详细。