事件传播,观察者

public class EventSource {

	List<IevListener> listenList = new ArrayList<>();
	
	public void addListen(IevListener listener){
		
		listenList.add(listener);
	}
	
	public void happen(){
		System.out.println("event happen..");
		
		for(IevListener listener:listenList){
			
			listener.afterHappen();
		}
	}
}
public class EvListener1 implements IevListener {

	@Override
	public void afterHappen() {
		// TODO Auto-generated method stub
			System.out.println("listen1 invoke..");
	}

}

public class EvListener2 implements IevListener {

	@Override
	public void afterHappen() {
		// TODO Auto-generated method stub

		System.out.println("listen2 invoke..");
	}

}

public interface IevListener {

	
	void afterHappen();
}

public class TestDemo {

	public static void main(String[] args) {
		
		EventSource es = new EventSource();
		
		es.addListen(new EvListener1());
		es.addListen(new EvListener2());
		
		es.happen();
	}
	
}


猜你喜欢

转载自blog.csdn.net/os2046/article/details/80771861
今日推荐