`

观察者模式小结(无代码)

阅读更多
这两天学习了观察者模式,总结下。
其实观察者模式也可以称作为发布、订阅模式。

一般来说,观察者设计模式由目标对象和观察者构成,当目标对象的某个属性或者某个状态发生变化时,对他的观察者进行通知,从而是观察者进行一些相关操作。

实现起来也有多种方式,可以自己去实现,也可以调用jdk自带的半成品(自定义观察者实现java.util.Observer接口,目标对象继承Observerable父类,但是对通知观察者前,需要设置this.setChanged()设置自己已改变)。


自己实现对比jdk半成品:
1、自己实现 结构清晰,更加灵活,性能好(jdk自带的通知其实不管是拉通知,都会把当前对象和参数传过去,如果数据量比较大会占用比较多的网络带宽)。
2、代码量少,规范。
分享到:
评论

相关推荐

    JavaScript模式中文[pdf] 百度云

    第1章 简介  模式  JavaScript:基本概念  ECMAScript 5 ... 观察者模式  小结  第8章 DOM和浏览器模式  关注分离  DOM脚本  事件  长期运行脚本  远程脚本  配置JavaScript  载入策略

    Delphi模式编程第一分卷

    22.3.1 观察者模式在界面色彩主题中的应用 22.3.2 范例小结 第23章 状态模式(State) 23.1 模式解说 23.2 结构与用法 23.2.1 模式结构 23.2.2 代码模板 23.2.3 问题讨论 23.3 范例与实践 23.3.1 状态模式...

    Delphi模式编程第二分卷

    22.3.1 观察者模式在界面色彩主题中的应用 22.3.2 范例小结 第23章 状态模式(State) 23.1 模式解说 23.2 结构与用法 23.2.1 模式结构 23.2.2 代码模板 23.2.3 问题讨论 23.3 范例与实践 23.3.1 ...

    C#23种设计模式_示例源代码及PDF

    观察者模式: 让多个观察者对象同时监听某一个 观察者模式 观察者模式定义了一种一队多的依赖关系, 主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更 新自己。 20、STATE —...

    sunzhaoye#blog#观察者模式1

    // 如果先订阅,则直接订阅后发布// 如果先发布后订阅,则把发布的事件类型与参数保存起来,等到有订阅后执行订阅小结:发布订阅模式可以使代码解耦,满足开放封闭原

    JavaScript模式 斯托扬·斯特凡洛夫 著

    前言 第1章 简介 模式 JavaScript:基本概念 ECMAScript JSLint Co ole 第2章 基本技巧 ...观察者模式 小结 第8章 DOM和浏览器模式 关注分离 DOM脚本 事件 长期运行脚本 远程脚本 酉己置JavaScript 载入策略 小结

    探究观察者设计模式

    观察者模式结论消息交换的形式消息处理要求消息处理基础结构消息处理小结注意简介在开发给定项目的过程中,通常会使用设计模式概念来解决与应用程序设计和结构有关的某些问题。但是,设计模式定义通常很难准确地表达...

    设计模式:可复用面向对象软件的基础--详细书签版

    5.7 observer(观察者)—对象行为型 模式 194 5.8 state(状态)—对象行为型模式 201 5.9 strategy(策略)—对象行为型 模式 208 5.10 template method(模板方法) —类行为型模式 214 5.11 visitor...

    《设计模式可复用面向对象软件的基础》

    1815.6 MEMENTO(备忘录)—对象行为型模式 1885.7 OBSERVER(观察者)—对象行为型模式 1945.8 STATE(状态)—对象行为型模式 2015.9 STRATEGY(策略)—对象行为型模式 2085.10 TEMPLATE METHOD(模板方法)—类...

    windows驱动开发技术详解-part2

     3.3.5 VC编译小结  3.4 查看调试信息  3.4.1 打印调试语句  3.4.2 查看调试语句  3.5 手动加载NT式驱动  3.6 编写程序加载NT式驱动  3.6.1 SCM组件和Windows服务  3.6.2 加载NT驱动的代码  3.6.3 ...

    Windows驱动开发技术详解的光盘-part1

     3.3.5 VC编译小结  3.4 查看调试信息  3.4.1 打印调试语句  3.4.2 查看调试语句  3.5 手动加载NT式驱动  3.6 编写程序加载NT式驱动  3.6.1 SCM组件和Windows服务  3.6.2 加载NT驱动的代码  3.6.3 ...

    JS 控件事件小结

    事件机制 对于事件的机制我不想多说,各种语言中对事件的描述都很具体,都是观察者模式的一种实现,我们可以从中抽取出事件必须的接口(由于控件库是基于jQuery 所以接口跟jquery保持一致): 1.on: 绑定事件 2.off...

    asp.net知识库

    C#静态成员和方法的学习小结 C#中结构与类的区别 C#中 const 和 readonly 的区别 利用自定义属性,定义枚举值的详细文本 Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件...

    Python编程入门经典

    1.1.4 小结 4 1.2 准备工作 4 1.2.1 在非Windows系统上安装 Python 3.1 5 1.2.2 使用Python Shell 5 1.3 开始使用Python——字符串 6 1.3.1 字符串概述 6 1.3.2 为什么需要引号 6 1.3.3 为什么有3种类型的引号 7 ...

Global site tag (gtag.js) - Google Analytics