`
woming66
  • 浏览: 57915 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Observer设计模式

阅读更多
package com.observer;

import java.util.ArrayList;
import java.util.List;
import java.util.Observable;

public class TestObservable extends Observable {

 private List<String> list = new ArrayList<String>();
 
 public void invoke(String s) {
  list.add(s);
  if(list.size() > 5) {
   this.setChanged(); //修改标识
   this.notifyObservers(list); //触发Observer监听函数
   list.clear();
  }
 }
}

package com.observer;

import java.util.List;
import java.util.Observable;
import java.util.Observer;

public class TestObserver implements Observer {

 public void update(Observable o, Object arg) {

  if(arg instanceof List) {
   List<String> list = (List<String>)arg;
   for(String s : list) {
    System.out.println(s);
   }
  }
 }
 
 public static void main(String[] args) {
  
  TestObservable test = new TestObservable();
  test.addObserver(new TestObserver()); //加入监听
  
  for(int i = 0; i < 15; i ++) {
   test.invoke("第" + i + "名");
  }
 }

}
分享到:
评论

相关推荐

    Observer设计模式实例

    Observer设计模式,也被称为“发布-订阅”(Publish-Subscribe)模式或“依赖倒置”模式,是软件设计中的一种行为模式。它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到...

    委托、事件与Observer设计模式

    委托、事件和Observer设计模式是面向对象编程中的关键概念,特别是在C#中有着广泛的应用。本文将深入探讨这三个概念,并通过实例帮助初学者理解和掌握它们。 首先,让我们从委托(Delegate)开始。委托在C#中可以被...

    详解C#委托,事件,Observer设计模式

    ### 详解C#委托,事件,Observer设计模式 在C#编程中,了解并掌握委托、事件以及Observer设计模式对于构建高效、灵活的应用程序至关重要。本文将深入探讨这些概念,并通过具体的示例来帮助理解。 #### 1. 将方法...

    C#中的委托、事件和Observer设计模式使用方法示例

    在C#编程语言中,委托、事件和Observer设计模式是构建高效、可扩展的应用程序的重要概念。这篇文档将深入探讨这些主题,以帮助你更好地理解它们的用途和实现方式。 首先,我们来看委托(Delegate)。委托在C#中相当...

    JAVA设计模式chm文档

    设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor

    设计模式文档 chm

    设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor

    二十三种设计模式【PDF版】

    设计模式之 Observer(观察者) 介绍如何使用 Java API 提供的现成 Observer 设计模式之 Iterator(迭代器) 这个模式已经被整合入Java的Collection.在大多数场合下无需自己制造一个Iterator,只要将对象装入...

    ContactApp:一个用于在android应用程序中实现HTTP连接,实现Observer设计模式并使用Material Design支持库中的多个组件的Android项目的示例

    一个Android项目的示例,该示例使用AsyncHttpClient(LoopJ)在android应用程序中实现HTTP连接,实现Observer设计模式,并使用Material Design支持库中的多个组件。 他们之中: 工具列 回收站视图 卡视图 ...

    JUnit的框架设计及其使用的设计模式

    5. **观察者模式**:JUnit实现了Observer设计模式,通过TestListener接口通知测试事件,如测试开始、结束、失败等,使得外部系统可以监听测试过程并做出相应反应。 6. **模板方法模式**:JUnit的TestWatcher是一个...

    OBserver模式设计实现

    观察者模式(Observer Pattern)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的其他对象。在Java和C++等面向对象编程语言中,这种模式广泛用于事件处理和实时系统,...

    设计模式C++学习之观察者模式(Observer)

    观察者模式(Observer)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式在C++中广泛应用,特别是在需要...

    java观察者模式介绍

    JDK里提供的observer设计模式的实现由java.util.Observable类和 java.util.Observer接口组成。从名字上可以清楚的看出两者在Observer 设计模式中分别扮演的角色:Observer是观察者角色,Observable是被观察目标...

    设计模式之Observer

    《设计模式之Observer》 设计模式是软件工程中的一种最佳实践,它们是在特定场景下解决常见问题的经验总结。Observer模式,又称为“观察者模式”或“发布-订阅模式”,是一种行为设计模式,用于在对象之间建立一种...

    Observer模式

    Observer模式,也被称为“发布-订阅”模式,是软件设计模式中的行为模式之一。它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。Observer模式是实现...

    人人都懂设计模式 人人都懂设计模式

    在本书中,作者罗伟富通过 Python 实现了 23 种经典设计模式,包括 Singleton 模式、Factory 模式、Observer 模式等。这些模式可以帮助开发者更好地解决软件开发中的常见问题,例如对象的创建、结构的设计、行为的...

    设计模式在Drawcli程序中的应用

    **Observer设计模式** 用于实现一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Drawcli程序中,Observer模式主要用于处理图形对象的状态变化通知,例如当某个图形对象...

    设计模式之观察者模式(Observer Pattern)

    观察者模式,也被称为发布-订阅模式或事件驱动模式,是软件设计模式中的一种行为模式。这个模式的主要目的是在对象之间建立一种松散耦合的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并...

    C# 委托和事件在.NET Framework详解

    委托在设计模式中的应用非常广泛,例如在Observer设计模式、工厂模式和策略模式中。委托可以使得代码更加灵活和可扩展,提高开发效率和代码质量。 6. 范例说明 在上面的代码中,我们可以看到,使用委托可以使得...

Global site tag (gtag.js) - Google Analytics