创建型模式
对对象的实例化过程进行抽象,封装了对象的创建,使得创建与使用分离
结构型模式
对已有类和对象进行组合,来获得更好的结构,一般使用继承或者成员变量引用形式来实现
关注于对象的组成以及对象之间的依赖关系,描述如何将类或者对象结合在一起形成更强大更好的结构
结构型模式可以分为类结构型模式和对象结构型模式:
在类结构型模式中一般只存在继承关系和实现关系
对象结构型模式关心类与对象的组合,通过关联关系使得在一 个类中定义另一个类的实例对象,然后通过该对象调用其方法。
根据“合成复用原则”,在系统中尽量使用关联关系来替代继 承关系,因此大部分结构型模式都是对象结构型模式。
行为型模式
描述类或对象怎样进行交互和职责分配。
关注于对象的行为问题,是对在不同的对象之间划分责任和算法的抽象化;不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用
通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象 之间的交互。在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些复杂功能,
行为型模式分为类行为型模式和对象行为型模式
类行为型模式:类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式主要通过多态等方式来分配父类与子类的职责。
对象行为型模式:对象的行为型模式则使用对象的聚合关联关系来分配行为,对象行为型模式主要是通过对象关联等方式来分配两个或多个类的职责。根据“合成复用原则”,系统中要尽量使用关联关系来取代继承关系,因此大部分行为型设计模式都属于对象行为型设计模式