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();
}
}
设置模式之 -> 观察者模式
猜你喜欢
转载自blog.csdn.net/qq_37769323/article/details/104173404
今日推荐
周排行