一、使用背景【动机】
当我们需要构建一种“通知依赖关系”时,如果这种业务模型耦合度太高的时候,就不能很好的抵御新需求的变化,此时就需要用到观察者模式来进行改造了。
二、代码演示
话题类【话题】
观察者接口【抽象的观察者】
观察者实现类【具体的观察者】
观察者测试类【模拟消息的发布-订阅】
三、模式讲解
解析:定义对象间的一种一对多(变化)的依赖关系,以便当一个对象的状态发生改变时,所有依赖(订阅)于它的对象都得到通知并自动更新。
目的:在发布/订阅模型中,主体对象在变化的同时去通知观察者,不需要知道有多少观察者;此时观察者的数量可以根据需求进行变化,实现松耦合