博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
观察者模式--CustomEventBus项目
阅读量:6870 次
发布时间:2019-06-26

本文共 648 字,大约阅读时间需要 2 分钟。

  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.被观察者发送通知,所有注册的观察者都会收到信息「可以实现广播机制」

 

转载于:https://www.cnblogs.com/lizhenhuaxxx/p/9837014.html

你可能感兴趣的文章
运营是一门艺术,互联网营销
查看>>
Visual Studio 2010 SP1将支持HTML5和CSS3
查看>>
[资源记录 ]mobile layer cdn
查看>>
关于scrapy的piplines
查看>>
内核同步机制
查看>>
用 Tornado 实现简单的在线代理
查看>>
Java写到.txt文件,如何实现换行
查看>>
JavaScript之isNaN()函数讲解
查看>>
MPlayer源代码分析
查看>>
获取音视频文件AVMetadata数据
查看>>
sql serve 创建序列
查看>>
模型层的生成
查看>>
关于APP接口设计
查看>>
【VI】如何再执行上一个(历史)命令(已解决)
查看>>
KendoUI系列:DropDownList
查看>>
Axure7.0汉化方法
查看>>
我的MYSQL学习心得(九)
查看>>
JavaScript高级程序设计学习笔记--DOM
查看>>
Python易学就会(五)turtle绘制椭圆与递归
查看>>
echarts map地图设置外边框或者阴影
查看>>