理解设计模式(十九)——观察者模式
观察者模式
提出问题
当一个对象需要将一个通知发送给若干个对象的时候,该怎么办呢?一个办法是让若干个对象不断去询问这一个对象,有没有新的通知?也就是采用轮询的方法。但是这样显然过于消耗系统资源。最好是能让这一个对象有新通知的时候自动告诉其他的若干个对象。这就是观察者模式
解决问题
所以,所谓观察者模式,说的是若干个对象观察某一个对象。如果某一个对象发生了变化,其他的若干个对象都能知道。但是程序实现上并不是若干个对象去观察的这一个对象。而是这一个对象主动通知若干个对象。我也不知道为什么要叫他观察者模式?
下面是代码:
// 被观察的对象(我觉得是通知的主动发送者) |