GOF23设计模式之观察者模式之理解


 
观察者模式Observer
 
     广播机制的场景:
 
     场景:
 
         聊天室程序的创建。服务器创建好后,ABC三个客户端连上来公开聊天。A向服务器发送数据,服务器端聊天数据改变。我们希望将这些聊天数据分别发给其他在线的客户。也就是说,每个客户端需要更新服务器端得数据。
 
         网站上,很多人订阅了“Java主题的新闻。当有这个主题新闻时,就会将这些新闻发给所有订阅的人。
 
         大家一起玩CS游戏时,服务器需要将每个人的方位变化发给所有的客户
 
 
 
     上面这些场景,我们都可以使用观察者模式来处理。我们可以把多个订阅者,,客户称之为观察者:需要同步给多个订阅者的数据封装在对象中,称之为目标。
 
 
 
核心:
 
     观察者模式主要用于1N的通知。当一个对象(目标对象Subject或者ObjServable)的状态变化时,他需要及时告知一系列对象(观察者对象,Observer),令他们做出响应
 
     通知观察者的方式:
 
         推:
 
              每次都会把通知以广播方式发送给所有观察者,所有观察者只能被动接受
 
         拉:
 
              观察者只要知道有情况变化即可至于什么时候获取内容获取什么内容,都可以自主决定。
 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值