观察者模式--CustomEventBus项目

Posted lizhenhuaxxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了观察者模式--CustomEventBus项目相关的知识,希望对你有一定的参考价值。

观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
使用场景:
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项目的主要内容,如果未能解决你的问题,请参考以下文章

爬虫项目clwaer_news 观察者模式分析

SpringBoot 项目中的观察者模式

Keyboard项目中观察者模式解析

文件路径监控项目中观察者模式的分析

浅析vue项目中的观察者模式

天气预报项目中的观察者模式分析