제1 9 편 디자인 모델 - 직책 체인 모델

정의: 여러 대상 이 요청 을 처리 할 수 있 도록 요청 한 발송 자 와 수신 자 간 의 결합 관 계 를 피 합 니 다.이 대상 들 을 하나의 체인 으로 연결 하고 이 체인 을 따라 이 요 구 를 전달 하 며 한 대상 이 처리 할 때 까지 합 니 다.
코드:
<pre name="code" class="java">package chainofresponsibility_model;

/**
 * 	
 * @author naivor
 *  	     -   
 */
public class COFModel {
	public static void main(String[] args) {
		Handler handler1=new ConcreteHandler1();
		Handler handler2=new ConcreteHandler2();
		Handler handler3=new ConcreteHandler3();
		
		handler1.setHandler(handler2);	//           
		handler2.setHandler(handler3);
		
		handler1.handRequest(20);  //    
	}

}

/**
 * 
 * @author naivor
 *  	     -      
 */
abstract class Handler{
	protected Handler handler;
	public void setHandler(Handler handler) {
		this.handler=handler;
	}
	
	public abstract void handRequest(int request);
}
/**
 * 
 * @author naivor
 *		     -     1 
 */
class ConcreteHandler1 extends Handler{
	@Override
	public void handRequest(int request) {
		if (request>=0 && request<10) {  //  0-10   
			//ConcreteHandler1       
		}else if (handler!=null) {
			handler.handRequest(request);	//      
		}
	}
	
}
/**
 * 
 * @author naivor
 *		     -     2 
 */
class ConcreteHandler2 extends Handler{
	@Override
	public void handRequest(int request) {
		if (request>=10 && request<20) {   //  10-20   
			//ConcreteHandler2       
		}else if (handler!=null) {
			handler.handRequest(request);
		}
	}
	
}
/**
 * 
 * @author naivor
 *		     -     3 
 */
class ConcreteHandler3 extends Handler{
	@Override
	public void handRequest(int request) {
		if (request>=20 && request<30) {	//  20-30   
			//ConcreteHandler3       
		}else if (handler!=null) {
			handler.handRequest(request);
		}
	}
	
}

좋은 웹페이지 즐겨찾기