zoukankan      html  css  js  c++  java
  • 设计模式之观察者模式

    package com.test.lisener;

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

    //An interface to be implemented by everyone interested in "Hello" events
    interface HelloListener {
    void someoneSaidHello();
    }

    //Someone who says "Hello"
    class Initiater {
    private List<HelloListener> listeners = new ArrayList<HelloListener>();

    public void addListener(HelloListener toAdd) {
    listeners.add(toAdd);
    }

    public void sayHello() {
    System.out.println("Hello!!");

    // Notify everybody that may be interested.
    for (HelloListener hl : listeners)
    hl.someoneSaidHello();
    }
    }

    //Someone interested in "Hello" events
    class Responder implements HelloListener {
    @Override
    public void someoneSaidHello() {
    System.out.println("Hello there...");
    }
    }

    class Responder2 implements HelloListener{

    @Override
    public void someoneSaidHello() {
    System.out.println("hellll............");
    }

    }

    class TestLisener {
    public static void main(String[] args) {
    Initiater initiater = new Initiater();
    Responder responder = new Responder();
    Responder2 responder2 = new Responder2();

    initiater.addListener(responder);
    initiater.addListener(responder2);

    initiater.sayHello(); // Prints "Hello!!!" and "Hello there..."
    }
    }

    输出

    Hello!!
    Hello there...
    hellll............

  • 相关阅读:
    wsdl和soap(简单使用TCPMon工具)03
    Django-7
    Django-6
    Django-5
    Django-4
    Django-3
    Django-2
    Django-1
    python_控制台输出带颜色的文字方法
    python网络编程
  • 原文地址:https://www.cnblogs.com/daxiong225/p/8820982.html
Copyright © 2011-2022 走看看