行为型模式关注对象之间的交互和职责分配,旨在提高代码的灵活性、可维护性和可扩展性。以下是 观察者、策略、模板方法、责任链 四种行为型模式的详细解析,结合定义、结构、适用场景及代码示例说明。
一、观察者模式(Observer Pattern)
1. 核心思想
定义对象间的一对多依赖关系,当一个对象(被观察者)的状态发生改变时,所有依赖它的对象(观察者)会自动收到通知并更新。
本质:发布-订阅(Pub/Sub)模型,解耦被观察者与观察者的直接引用。
2. 结构与角色
- Subject(被观察者):维护观察者列表,提供注册、移除观察者的方法,并在状态变化时通知观察者。
- Observer(观察者):定义接收通知的接口(如
update()
方法)。 - ConcreteSubject(具体被观察者):