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

    1.观察者(observer)--订阅者

    update 

    /**
     * 观察者
     * */
    public class Coder implements Observer{
        
        private String name;
        public Coder(String name){
            this.name=name;
            print("订阅者名字--"+this.name);
        }

    2.被观察者(observable)--发布者

     必要条件: 设置状态发生变化,然后根据变化进行通知notify

    /**
     * 
     * 被观察者
     * **/
    public class TechCto extends Observable{
        
        public void publishContent(String content){
            setChanged();//设置状态发生
            this.notifyObservers(content);//调用自身的通知
        }
        
    
    }

    主函数:

    public static void main(String[] args) {
            System.out.println("测试设计模式------------------------------------");
            //被观察者(发布者)
            TechCto cto =new TechCto();
            //观察者(订阅者)
            Coder coder1=new Coder("feifei");
            Coder coder2=new Coder("huahua");
            //订阅者注册到发布者上面
            cto.addObserver(coder2);
            cto.addObserver(coder1);
            //发布信息
            cto.publishContent("yumenle");
        }

    测试结果:

    测试设计模式------------------------------------
    订阅者名字--feifei
    订阅者名字--huahua
    feifei   yumenle   更新成功
    huahua   yumenle   更新成功
  • 相关阅读:
    Beta冲刺 (6/7)
    Beta冲刺(5/7)
    Beta 冲刺 (4/7)
    Beta 冲刺 (3/7)
    软件产品案例分析(团队)
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    java 常用设计模式及Spring中应用了哪些设计模式
    java 八大排序算法
    记录java学习计划及相关工作中用到的技术/工具
  • 原文地址:https://www.cnblogs.com/zhengtu2015/p/7821522.html
Copyright © 2011-2022 走看看