最新文章列表

观察者模式

  观察者模式的定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。   体现的设计原则是:为了交互对象之间的松耦合设计而努力。   所谓观察者模式,举个例子现在许多购房者都密切观察者房价的变化,当房价变化时,所有购房者都能观察到,以上的购房者属于观察者,这便是观察者模式。   场景:   1. 比如在界面开发中,多个窗口之间 ...
zhangliguoaccp 评论(0) 有1311人浏览 2015-07-16 15:52

观察者模式

  原创内容,转载请注明出处 观察者模式在Java中经常会使用到,最典型的就是swing和awt的事件机制,Spring中的事件机制亦如此,还有发布——订阅模型也是观察着模式,当发布者发生改变时,订阅者可以接收到发布者改变的信息。 好处:当需要添加新的订阅者时,不需要修改发布者内容,只需要创建新的订阅者(新的订阅者只需实现订阅接口即可),并且将订阅者注册到发布者对象中,则当发布者有发生变化 ...
ylxy3058 评论(0) 有365人浏览 2015-07-10 11:48

java观察者模式

观察者模式——顾名思义,就是一个对象观察另一个对象,当被观察的对象发生变化时,观察者也会跟着变化。 在日常中,我们配java环境变量时,设置一个JAVAHOME变量,这就是被观察者,使用了JAVAHOME变量的对象都是观察者,一旦JAVAHOME的路径改动,其他的也会跟着改动。 这样的例子很多,我想用小时候玩的老鹰捉小鸡游戏来简单的描绘观察者模式。 老鹰会变成观察者,母鸡和小鸡是观察者,一旦老 ...
3213213333332132 评论(4) 有1468人浏览 2015-07-09 17:41

观察者设计模式

         观察者设计模式定义了对象间的一种一对多的依赖关系,以便一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。我们常用的事件机制内部实现就使用了观察者模式。java类也帮我们实现了观察者模式。下面举实例来讲解观察者设计模式,为了便于更好的理解观察者模式,先自己编写观察者模式,不调用java自带的接口和实现类。       事例:现在人都喜欢网购,当你看上一件商品时你可 ...
hm4123660 评论(0) 有1587人浏览 2015-06-01 19:32

观察者模式-java实现

观察者模式 定义了对象之间的一对多的依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新   利用观察者模式,主题是具有状态的对象,并且可以控制这些状态,也就是说,有一个具有状态的主题。另一方面,观察者使用了这些状态,虽然这些状态并不属于他们。有许多的观察者,依赖主题来告诉他们状态何时改变,这就产生了一个关系, 一个主题对多个观察者的关系。     使用java内置的观察者 ...
liu_android_1002 评论(0) 有622人浏览 2015-01-20 00:03

Java 设计模式-观察者(Observer )

     观察者模式(Observer Pattern)的意图是在多个对象之间定义一对多的依赖关系,当一个对象的状态改变时,会通知依赖于他的对象,并根据状态做出想用的反应。       观察者模式(Observer Pattern)涉及的角色有: 抽象主题(Abstract Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里,每个主题都 ...
zhangwei_david 评论(1) 有3545人浏览 2014-11-24 17:28

java设计模式——观察者模式

一、什么情况下考虑使用“观察者设计模式”?   观察者设计模式定义了对象之间的一对多的依赖关系,当主题对象改变状态时,它的所有观察者都 ...
lwbbupt 评论(3) 有1894人浏览 2014-11-17 22:40

观察者设计模式

先来看下下报纸和杂志的订阅: (1)报社:出版报纸和杂志 (2)订阅者:向某家报社订阅报纸和杂志,只要报社出版了新的报纸,订阅者就会收到最新的报纸和杂志。 (3)报社具有添加和删除订阅者的功能(其实应该是订阅者具有订阅和退订的功能,这个主动权应该是订阅者而不是报社,报社也应该对外开放这样的方法) 下面就让我们来简单实现上述的描述: 报社:PublishingHouse 如下: package c ...
乒乓狂魔 评论(0) 有1116人浏览 2014-11-09 10:25

观察者模式

我们要开发一个内容发布系统,当运营商有内容发布的时候,通知所有用户新发布的内容。   先看一个错误的示范: 当移动运营商发布新的活动,就通知所有订阅的用户。 public void publishContent(String message){ //主题获取新发布的内容,然后通知所有用户新发布的内容。 userA.sendMessage(message); userB.sendMe ...
lovefeixian 评论(0) 有349人浏览 2014-10-16 23:25

java设计模式之观察者模式

一、基本概念:       观察者模式属于行为型模式,其意图是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。        这一个模式的关键对象是目标(Subject)和观察者(Observer)。一个目标可以有任意数目的依赖它的观察者,一旦目标的状态发生改变,所有的观察者都得到通知,作为对这个通知的响应,每个观察者都将查询目标以使其状 ...
lichaobao 评论(0) 有953人浏览 2014-09-09 23:16

观察者模式

观察者模式     观察者模式是一种常见的设计模式,当一个对象的行为依赖另一个对象的状态时,观察者模式就显得非常有用。观察者模式可以使用单线程,是某一个对象,及时得知自身所依赖者的状态的变化。       经典的观察者模式的一般实现如下:     1.主题接口: package com.zendly.mode.observer; /** * 观察者主题接口 * @autho ...
zendly 评论(0) 有450人浏览 2014-08-17 22:27

观察者模式-ruby

#encoding:utf-8# 观察者模式(有时又被称为发布/订阅模式)是软件设计模式的一种。# 在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。# 这通常透过呼叫各观察者所提供的方法来实现。# 实现观察者模式的时候要注意,观察者和被观察对象之间的互动关系不能# 体现成类之间的直接调用,否则就将使观察者和被观察对象之间紧密的耦合起来,# 从根本上违反面 ...
michael_roshen 评论(0) 有425人浏览 2014-07-20 21:04

行为类模式大PK(总结)

行为类模式包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法、访问者 ...
home198979 评论(0) 有2278人浏览 2014-05-29 09:42

隔墙有耳的观察者模式(Observer Patern)

登录系统想必大家都做过,验证用户名密码就登录成功,日志系统应该记录此次登录,如果登录出错,安全系统应该会记录此次错误,邮件系统也应该会发送相关邮件给管理员,等等。这就好像登录系统被很多人监视一样,一旦有什么风吹草动,立即会被其它系统获悉。那就用观察者模式来试试,类图如下: 很简单的模式,实现代码: <?php interface Observable{ function attac ...
home198979 评论(0) 有2224人浏览 2014-04-22 15:07

APDPlat中领域模型的自描述机制与事件通知机制

APDPlat中的Model抽象类是所有领域对象的基类,对领域模型的CRUD操作都会触发事件,监听这些事件是实现实时搜索、业务审计、权限验证、模型预处理等 ...
yangshangchuan 评论(0) 有6477人浏览 2014-02-01 06:40

观察者模式(Observer Pattern)_Java

Observer Pattern 问题:  有一个气象站(WeatherData),用来给各种手机(苹果,三星,摩托罗拉等等)提供气象信息,要求是,当气象信息更新的时候,给各个 ...
hunthon 评论(0) 有1118人浏览 2013-10-17 10:43

观察者模式

定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并且被自动更新 观察者模式是关于多个对象想知道一个对象中数据变化情况的一种成熟的模式。观察者中有一个成为主题的对象和观察者的对象。 观察者模式中的推数据与拉数据: 推数据方式是指:具体主题将变化后的数据全部交给具体观察者,即将变化后的数据传递给具体的观察者用于更新数据的参数。 拉数据方式是指:具体主题不将变 ...
超超超哥2010 评论(0) 有548人浏览 2013-09-25 22:14

简单理解观察者模式(Observer)

简单理解观察者模式 /** * 主题(被观察者信息) */ public interface Subject { /** * 注册观察此对象 */ boolean registerObserver(Observer observer); /** * 删除此对象 */ boolean removeObserver(Observer obser ...
zhang964761032 评论(0) 有882人浏览 2013-09-24 10:53

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics