行为型模式(Behavioral Pattern)关注系统中对象之间的相互交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责。行为型模式是对不同的对象之间划分责任和算法的抽象化。行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。
行为型模式分为类行为型模式和对象行为型模式:
(1)类行为型模式:类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式主要通过多态等方式来分配父类和子类的职责。
(2)对象行为型模式:对象的行为型模式则使用对象的聚合关联关系来分配行为,对象行为型模式主要是通过对象关联等方式来分配两个或多个类的职责。根据“合成复用原则”,系统中要尽量使用关联关系取代继承关系,因此大部分行为型模式都属于对象行为型模式。
行为型模式是GoF设计模式中最为庞大的一类模式,它包括11种设计模式,如下表所示。