设置模式之 -> 观察者模式

package javatuning.ch2.observor;

public class ConcreteObserver implements IObserver{  
    public void update(Event evt){  
    	System.out.println("obserer receives information");
    }  
}  

-----------------------------------------------------------------------------------
package javatuning.ch2.observor;

import java.util.Vector;

public class ConcreteSubject implements ISubject{
	Vector<IObserver> observers=new Vector<IObserver>();
    public void attach(IObserver observer){  
    	observers.addElement(observer);  
    }  
    public void detach(IObserver observer){  
    	observers.removeElement(observer);  
    }  
    public void inform(){
    	Event evt=new Event();
    	for(IObserver ob:observers){
    		ob.update(evt);
    	}
    }  
}  

-----------------------------------------------------------------------------------
package javatuning.ch2.observor;

public class Event {

}

-----------------------------------------------------------------------------------
package javatuning.ch2.observor;

public interface IObserver{  
    void update(Event evt);				//更新观察者  
}  

-----------------------------------------------------------------------------------
package javatuning.ch2.observor;

public interface ISubject{  
    void attach(IObserver observer);	//添加观察者  
    void detach(IObserver observer);	//删除观察者  
    void inform();					//通知所有观察者  
}  

-----------------------------------------------------------------------------------
package javatuning.ch2.observor;

public class Main {
	public static void main(String[] args) {
		ConcreteSubject sub=new ConcreteSubject();
		sub.attach(new ConcreteObserver());
		sub.inform();
	}
}
发布了176 篇原创文章 · 获赞 1 · 访问量 7176

猜你喜欢

转载自blog.csdn.net/qq_37769323/article/details/104173404