美文网首页
观察者设计模式

观察者设计模式

作者: 圈圈猫 | 来源:发表于2016-10-20 17:09 被阅读14次

首先来看看观察者模式的概念:

定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新

第一句可能不太懂,但是后面的容易懂,就像天气预报一样,只要你订阅了,他就会发短信更新通知你说天气变化了。这就是观察者。

观察者模式的成员:

1)、观察者。我们称之为Observer, 有时候我们也成他为订阅者,即Subscriber.

2)、被观察者:我们称之为Observable,即可用被观察的东西,有时候会成为主题,Subject

三部曲:

1、创建被观察者:注册(订阅),注销(取消订阅), 更新数据(Observable)

以上是被观察者

2、观察者:即Observer也叫Subscriber,在rxjava中Subscriber只是比Observer多了几个方法相对功能强大点

观察者接口

3、订阅、

订阅和使用、

二、在Android中的观察者:

1)、最简单的按钮点击事件(Button)

Button btn = new Button(this);

btn.setOnClickListener(new View.OnClickListener()){

      public void onClick(View v){ 

           Log.e("Tag", "click");

      }

}

2)、RecycleView中的addOnScrollListener方法:滚动监听

3)、Android中自带的广播,广播通过registerReceiver注册广播,通过unregisterReceiver注销广播,通过sendBroadcast发送广播。这就是典型的观察者模式,

4)、开源框架EventBus也是基于观察者模式,观察者模式的三个典型,注册、取消注册,发送事件。

EventBus

6)、当然最重量级的还是现在火热的RXjava,这个也是基于观察者模式。

①、创建被观察者:

被观察者

②、观察者、即订阅者

订阅者

③、观察者进行事件的订阅(被观察者订阅观察者)

订阅操作

具体的RXjava详解请查看这里Rxjava详细解析

支持原文创作:观察者模式

相关文章

  • 观察者设计模式

    每周学点Java设计模式__观察者设计模式 本次继续更新java23中设计模式之一——观察者模式。 观察者模式(有...

  • 设计模式02-观察者者设计模式

    [toc] 设计模式02-观察者者设计模式 主要来源Head First设计模式(书)观察者设计模式是JDK中使用...

  • RxJava基础—观察者模式

    设计模式-观察者模式 观察者模式:观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式...

  • RxJava设计模式与原理

    标准观察者设计模式 RxJava是一种特殊的观察者模式,首先我们先来看标准的观察者设计模式。在标准观察者模式中,存...

  • 11.9设计模式-观察者模式-详解

    设计模式-观察者模式 观察者模式详解 观察者模式在android中的实际运用 1.观察者模式详解 2.观察者模式在...

  • Guava源码分析——EventBus

    EventBus的设计理念是基于观察者模式的,可以参考设计模式(1)—观察者模式先来了解该设计模式。 1、程序示例...

  • Android LifeCycle 源码学习总结

    整体设计 Lifecycle的核心设计模式就是观察者模式。 LifeCycleOwner 是被观察者,Lifecy...

  • PHP设计模式之观察者模式

    PHP设计模式之观察者模式

  • 设计模式 - 观察者模式

    观察者模式的定义 观察者模式简述 MVC是由各种复杂的设计模式组合而成的复合结构,观察者是其中的设计模式之一。视图...

  • 面試小記

    1:设计模式 观察者模式observer observerble,subscribe (订阅) (1)观察者对象 ...

网友评论

      本文标题:观察者设计模式

      本文链接:https://www.haomeiwen.com/subject/tgbmyttx.html