观察者模式 The Observer Pattern

观察者模式——定义了对象之间的一对多依赖,这样一来,当一个对像改变状态时,它的所有依赖者都会收到通知并自动更新。(摘自《Head First Design Patterns》) 以下是自已用VS画了一个简图: 首先创建司令官和小队的接口:
实现一个司令官(当然你也可以实现多个):
实现三个小队:
最后我们开始使用它用:
输出的结果是:
司令官下命令:攻击
斧头小队:用斧头攻击,势死如归!
弓箭手小队:弓箭手掩护,退后十步,射箭!
匕首小队:匕首攻击,打不过就跑!
司令官下命令:撤退
斧头小队:坚守阵地,死也不放弃!
弓箭手小队:边撤退,边掩护斧头小队!
匕首小队:快撤啊,我军大势已去!
司令官下命令:攻击
斧头小队:用斧头攻击,势死如归!
弓箭手小队:弓箭手掩护,退后十步,射箭!
司令官下命令:撤退
斧头小队:坚守阵地,死也不放弃!
弓箭手小队:边撤退,边掩护斧头小队!
一个简单的观察者模式就介绍完毕,当然里面那些传递命令还用了一些SWITCH,有人会说这可以重构啊。本文意在介绍观察者模式,那些只不过是内容而已,在以后的模式中会用一个新的模式重新设计这一块。 本文意求用最简单的代码表达模式思想,有不足之处还请多提意见,匆怪,呵呵。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页