行为型模式描述程序运行时的流程控制(复杂),主要是描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,其中包括了算法与对象间职责的分配。
行为型模式和结构型模式一样,分为类和对象行为模式,类采用的继承机制来在类间分派行为,对象采用组合或聚合在对象间分配行为。因为组合关系或聚合关系比继承关系耦合度低,所以满足合成复用原则,所以对象行为模式比类行为模式具有更大的灵活性。
这篇博客介绍的行为性模式有:观察者模式、模板方法模式、命令模式、状态模式、职责链模式
一、观察者模式:多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。(对象行为模式)
适用情况:当前对象的状态发生改变,所有的观察者对象都将得到通知,进行广播通知,并视情况更新自己的状态。
优点:降低了目标与观察者之间的耦合关系,目标与观察者之间建立了触发机制。