概述
責任鏈模式在面向對象程式設計里是一種軟件設計模式岗宣,它包含了一些命令對象和一系列的處理對象打肝。每一個處理對象決定它能處理哪些命令對象铅辞,它也知道如何將它不能處理的命令對象傳遞給該鏈中的下一個處理對象谋国。該模式還描述了往該處理鏈的末尾添加新的處理對象的方法。
責任鏈模式的實現(xiàn)
1.定義一個抽象處理者
public abstract class AbsHandler {
private AbsHandler mNextHandler;// 下一個處理節(jié)點
/**
* 處理請求
*
* @param request
* 請求
*/
public abstract void handle(String request);
public AbsHandler getmNextHandler() {
return mNextHandler;
}
public void setmNextHandler(AbsHandler mNextHandler) {
this.mNextHandler = mNextHandler;
}
}
2.定義處理者
public class Handler1 extends AbsHandler {
@Override
public void handle(String request) {
if ("交給handler1處理".equals(request)) {
System.out.println("handler1已處理請求");
} else {
getmNextHandler().handle(request);
System.out.println("handler1已拋出請求");
}
}
}
public class Handler2 extends AbsHandler{
@Override
public void handle(String request) {
if ("交給handler2處理".equals(request)) {
System.out.println("handler2已處理請求");
}else {
getmNextHandler().handle(request);
System.out.println("handler2已拋出請求");
}
}
}
3.定義一個客戶類
public class Client {
public static void main(String[] args) {
Handler1 handler1=new Handler1();
Handler2 handler2=new Handler2();
handler1.setmNextHandler(handler2);
handler1.handle("交給handler2處理");
}
}
4.打印結果
image.png
責任鏈模式比較簡單号阿,以上就足夠了并鸵。