观察者模式中,消息采用推和拉方式来传递的比较

观察者模式,指的是定义一种对象间的一对多的关系,当一个对象的状态发生变化的时候,所有依赖于它的对象都将得到通知并更新自己。

visitor

现在要说的分歧在这里:

“推” 的方式是指,Subject 维护一份观察者的列表,每当有更新发生,Subject 会把更新消息主动推送到各个 Observer 去。

“拉” 的方式是指,各个 Observer 维护各自所关心的 Subject 列表,自行决定在合适的时间去 Subject 获取相应的更新数据。

 

“推” 的好处包括:

1、高效。如果没有更新发生,不会有任何更新消息推送的动作,即每次消息推送都发生在确确实实的更新事件之后,都是有意义的。

2、实时。事件发生后的第一时间

[……]阅读全文

back to top