码迷,mamicode.com
首页 > 其他好文 > 详细

观察者模式--CustomEventBus项目

时间:2018-10-23 20:58:46      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:size   serve   obs   逻辑   sign   mil   执行   demo   组合   

观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
使用场景:
1.某些时候需要一些对象有所关联,而且这种关联是可以拆分而不是组合在一起的。
2.某一事件发生,需要向多方触发。
3.消息交换,如消息队列、事件总线的处理机制。
技术分享图片
 

观察者模式主要角色:

  1. Subject:抽象主题,被观察者(Observable)的抽象,管理着众多观察者的实现,可以实现添加或删除观察者的功能。
  2. ConcreteSubject:具体主题,被观察者(Observable)的实现,通过该实现来向观察者发送通知。
  3. Observer:抽象观察者(Observer),观察者的抽象。一般是接口,实现该接口生成各种各样的观察者。
  4. ConcreteObserver:具体观察者,抽象观察者的具体实现,当被观察者发生变化时执行具体逻辑


1.定义抽象的被观察者IEventBus.java
 
技术分享图片

 

2.具体的被观察者CustomEventBus.java

技术分享图片

        

 

技术分享图片

 

3.抽象的观察者接口

  技术分享图片

接口为View.OnClickListener()

4.具体的观察者CustomBusActivity.java

技术分享图片

技术分享图片

 优点:

1.解耦,被观察者只知道观察者列表「抽象接口」,被观察者不知道具体的观察者

2.被观察者发送通知,所有注册的观察者都会收到信息「可以实现广播机制」

 

观察者模式--CustomEventBus项目

标签:size   serve   obs   逻辑   sign   mil   执行   demo   组合   

原文地址:https://www.cnblogs.com/lizhenhuaxxx/p/9837014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!