设计模式之观察者模式

引言

       松耦合设计是指对象之间较为独立,可以交互,但是不清楚彼此的细节,与之等效的说法是高内聚低耦合,对象与对象之间的互相依赖性很低,这样可以使构建的OO系统更有弹性,因此使系统更能适应变化。

观察者模式

        观察者模式是松耦合设计的一个具体表现形式,它定义了对象之间的一对多依赖,一指的是被观察者,多指的是观察者,这样当被观察的一个对象改变状态时,它所有的依赖者都会受到通知并自动更新。MVC是观察者模式的典型代表。

具体实现

        此处我是用C++代码实现了Head First Design Patterns一书中的气象站,其UML图如下所示,

 

C++代码具体实现可参考以下github,开发环境为 Win10 & VS2015。

https://github.com/yazhouzheng/DesignPattens/tree/master/ObserverPattern/ObserverPattern

模式所用设计原则

        为交互对象之间的松耦合设计而努力

总结

        本文简要介绍了观察者模式以及其中使用到的低耦合原则,并使用C++重新实现了书中气象站的观察者模式实现。C++虽然是一种OO语言,但是其并没有内置的观察者模式吗,因此我这里没有实现书中的内置实现以及使用pull的方式传送数据。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值