行为模式负责对象间的高效沟通和职责委派。
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。
行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行为。由于组合关系或聚合关系比继承关系耦合度低,满足“合成复用原则”,所以对象行为模式比类行为模式具有更大的灵活性。
行为型模式是设计模式中最为庞大的一类,它包含以下 10 种模式。
以上 10 种行为型模式,除了模板方法模式是类行为型模式,其他的全部属于对象行为型模式,下面我们将详细介绍它们的特点、结构与应用。
注意:解释器模式可能是所有 GoF 模式中使用最少且最复杂的模式。这就是为什么我不费心把它包括在本教程中的原因。颇具影响力的《 设计模式》一书列出了23种编程模式。其中解释器模式很少使用。史蒂夫•耶格(Steve Yegge)更加引人注目-他说这本书包含 22 种模式和一个开玩笑的模式。