当前位置:编程学习 > JAVA >>

java观察者模式

观察者模式:
就如其名, 观察者。 有观察者(observer), 肯定需要一个被观察的对象(topic)。 自然世界里, obeserver应该能够时刻观察topic的变化, 并作出相应的action。

在这个模式里,特别需要针对接口编程。 so...
[java]
//定义观察者接口, 当观察者发现topic的某个状态发生变化的时候, 会作出相应的action 
public interface observer{ 
      void action(); 

[java]
public class A implements Observer{ 
       public void action(){ 
             System.out.println("Observer A do action!"); 
       } 

public class B implements Observer{ 
       public void action(){ 
             System.out.println("Observer B do action!")' 
       } 

public class C implements Observer{ 
       public void action(){ 
              System.out.println("Observer C do action!"); 
       } 

[java]
//定义一个topic接口, 一个topic的某个属性将发生改变, 而observer就是观察这个属性的改变。 
public interface Topic{ 
      void statusChanged(); 

[java]
public class OneTopic{ 
         private List<Observer> obs = new ArrayList<Observer>(); 
         //setter、getter方法省略 
         public void statusChanged(){ 
               for(Observer o : obs){ 
                   o.action(); 
               } 
         } 

[java]
public class Test{ 
       public static void main(String[] args){ 
             Observer oa =  new A(); 
             Observer ob =  new B(); 
             Observer oc =  new C(); 
             Topic topic = new OneTopic(); 
             topic.getObs().add(oa); 
             topic.getObs().add(ob); 
             topic.getObs().add(oc); 
             topic.statusChanged(); 
  
       } 


摘自 从此爱上蒲肉格蕾铭.-^

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,