观察者模式总结

总结


观察者模式定义:
定义了对象之间的一对多的关系,这样一来,当一个对象发生改变时,它所有的依赖着都会被通知并自动更新。

出版者+订阅者=观察者

观察者模式和订阅报纸是一样的,只是名称不一样:出版者改为“主题”(Subject)订阅者改为“观察者”(Observer)


观察者模式的例子

WeatherData气象站

  • Subject是主题接口。

  • 所有的气象站组件都要实现Observer接口,这样,在主题需要通知观察者时,有一个共同的接口。

  • 布告板也建立一个共同的接口DisplayElement布告板只需要实现display()方法

  • 布告板根据WeatherData对象显示当前观测值


三个设计原则

1.找出程序中会变化的部分,把它和会变化的部分分离

  • 主题的状态回改变,观察者的数量也会改变,我们可以改变依赖主题的对象而不必改变主题

2.针对接口编程,而不是针对现实编程

  • 主题和观察者都使用接口,观察者通过主题接口向主题注册,主题通过观察者接口通知观察者

3.多用组合,少用继承

  • 观察者模式利用“组合”将观察者组合进主题中,对象间的这种关系不是同个继承产生的,而是在运行时利用组合产生的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值