观察者模式实例

公司中,当老板不在的时候,大家都免不了偷个懒,比如女同事逛逛淘宝男同事看个篮球比赛但是如果老板突然回来,发现自己没有工作,这种情况就比较尴尬!正在大家为此事上头时,前台王小姐说:“当老板回来时,她会打电话通知大家!”。这样大家就可以放心的偷懒了。——这种情况就可以抽象的理解为观察者模式。前台秘书处负责传递消息,办公室内每个员工都是观察者,当有情况发生时,秘书处会将信息发送至每个观察者,确保不会尴尬!


_observers as $obs )$obs->onBuyTicketOver ( $this, $ticket ); //$this 可用来获取主题类句柄,在通知中使用}//添加通知public function addObserver($observer) //添加N个通知{$this->_observers [] = $observer;}}#=========================定义多个通知====================//男同事通知class NoticeMan implements ITicketObserver {public function onBuyTicketOver($sender, $ticket) {echo (date ( 'Y-m-d H:i:s' ) . " 男同事收到消息:$ticket
");}}//女同事通知 class NoticeWoman implements ITicketObserver {public function onBuyTicketOver($sender, $ticket) {echo (date ( 'Y-m-d H:i:s' ) . " 女同事收到消息:$ticket
");}}$secretary = new Reception();$secretary->addObserver ( new NoticeMan() );$secretary->addObserver ( new NoticeWoman () );//秘书 $secretary->buyTicket ( "老板回来了" );


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部