为什么我们需要观察者模式?

提问

我读了一本关于观察者模式的书.它给出以下示例:

类时钟,带有方法time()

类消息,从这三个类继承而来:传真,邮件,备忘录.

该应用程序希望在12AM到达时发送一条消息.

该书推荐观察者模式.它说,如果我们添加新类:VideoMsg来扩展消息,则将影响Clock类的实现.但是我不明白为什么. Clock类将保存消息对象的集合,并且如果我们添加一个新的继承类,它将不会更改Clock类.

如果有人会解释上面的示例,或者给出更好的示例,我将不胜感激.

最佳答案

简单来说,就是让您了解Observer pattern

如果有1000人订阅了每日新闻报纸.

每当有新副本到达时(即每天),发布者都会将其副本发送给其订阅者.

同样的方式一类在获取新信息时将向其观察者发送信息.