Carson带你学设计模式:观察者模式(Observer)
Posted Carson_Ho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Carson带你学设计模式:观察者模式(Observer)相关的知识,希望对你有一定的参考价值。
前言
今天Carson来全面总结最常用的设计模式 - 观察者模式(Observer)。
Carson带你学设计模式系列文章
Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南
Carson带你学设计模式:单例模式(Singleton)
Carson带你学设计模式:简单工厂模式(SimpleFactoryPattern)
Carson带你学设计模式:工厂方法模式(Factory Method)
Carson带你学设计模式:抽象工厂模式(Abstract Factory)
Carson带你学设计模式:建造者模式(Builder Pattern)
Carson带你学设计模式:适配器模式(Adapter Pattern)
Carson带你学设计模式:外观模式(Facade Pattern)
Carson带你学设计模式:静态代理模式(Proxy Pattern)
Carson带你学设计模式:动态代理模式(Proxy Pattern)
Carson带你学设计模式:模板方法模式(Template Method)
Carson带你学设计模式:策略模式(Strategy Pattern)
Carson带你学设计模式:观察者模式(Observer)
目录
1. 模式说明
- 定义对象间的一种一对多的依赖关系;
- 当1个对象的状态发生改变时,所有依赖于它的对象都将得到通知 & 自动更新对应操作。
又称:发布 / 订阅模式
2. 解决的问题
常变对象 与不常变对象之间存在依赖关系的前提下,不常变对象 需随 常变对象经常改变逻辑的问题。即解耦 常变对象 与不常变对象之间的依赖关系
如:常变的
UI
层 与 基本不变的具体业务逻辑
3. 生活例子引入
我用一个生活例子引入 & 讲解 观察者模式的原理: 顾客到饭店吃饭
4. 原理介绍
4.1 UML类图说明
观察者模式中有4个角色
注:Java API有内置的观察者模式类:java.util.Observable 类和 java.util.Observer 接口
对应: Subject 和 Observer 的角色;
4.2 具体原理说明
请结合上述 顾客到饭店吃饭 的生活例子理解:
即可总结为:被观察者 (Observable)
通过 订阅(Subscribe)
按顺序发送事件 给观察者 (Observer)
, 观察者(Observer)
按顺序接收事件 & 作出对应的响应动作。具体如下图:(类似流水线般流动 & 处理。)
至此,设计模式中的观察者模式(Observer)讲解完毕。
5. 总结
- 本文对观察者模式(Observer)的进行了全面介绍
- 接下来我会对每种设计模式进行详细的分析,欢迎关注Carson_Ho的CSDN博客 ,不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度。
请帮顶 / 评论点赞!因为你的鼓励是我写作的最大动力!
Carson带你学设计模式系列文章
Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南
Carson带你学设计模式:单例模式(Singleton)
Carson带你学设计模式:简单工厂模式(SimpleFactoryPattern)
Carson带你学设计模式:工厂方法模式(Factory Method)
Carson带你学设计模式:抽象工厂模式(Abstract Factory)
Carson带你学设计模式:建造者模式(Builder Pattern)
Carson带你学设计模式:适配器模式(Adapter Pattern)
Carson带你学设计模式:外观模式(Facade Pattern)
Carson带你学设计模式:静态代理模式(Proxy Pattern)
Carson带你学设计模式:动态代理模式(Proxy Pattern)
Carson带你学设计模式:模板方法模式(Template Method)
Carson带你学设计模式:策略模式(Strategy Pattern)
Carson带你学设计模式:观察者模式(Observer)
以上是关于Carson带你学设计模式:观察者模式(Observer)的主要内容,如果未能解决你的问题,请参考以下文章
Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南
Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南
Carson带你学Android:全面剖析Binder跨进程通信原理