最近在看《设计模式之禅》这本书,收获良多,作者不愧是工作多年的大牛,将各种设计模式讲解的非常透彻。这里备份下书中的【 观察者模式 】代码:
github:
【 https://github.com/cstriker1407/design_pattern 】
class MyObservable extends Observable { public String str = "this is MyObservable"; public void changed() { System.out.println("I am changing"); setChanged(); notifyObservers("Hello World"); } } class MyObserver implements Observer { public MyObserver(String name) { super(); this.name = name; } private String name; @Override public void update(Observable o, Object arg) { System.out.print("Name:" + name +" "); System.out.print("observerable:" + ((MyObservable)o).str +" "); System.out.println("Object:" + arg.toString() ); } }
测试代码:
public class ObserveTest { public static void test() { MyObservable myObservable = new MyObservable(); MyObserver myObserverA = new MyObserver("A"); MyObserver myObserverB = new MyObserver("B"); MyObserver myObserverC = new MyObserver("C"); myObservable.addObserver(myObserverA); myObservable.addObserver(myObserverB); myObservable.addObserver(myObserverC); myObservable.changed(); } }
发表评论