責任鏈模式
http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
- abstract class Handler {
- /**
- * 持有後繼的責任物件
- */
- protected Handler successor;
- /**
- * 示意處理請求的方法,雖然這個示意方法是沒有傳入引數的 但實際是可以傳入引數的,根據具體需要來選擇是否傳遞引數
- */
- public abstract void handleRequest();
- /**
- * 取值方法
- */
- public Handler getSuccessor() {
- return successor;
- }
- /**
- * 賦值方法,設定後繼的責任物件
- */
- public void setSuccessor(Handler successor) {
- this.successor = successor;
- }
- }
- class ConcreteHandler extends Handler {
- /**
- * 處理方法,呼叫此方法處理請求
- */
- @Override
- public void handleRequest() {
- /**
- * 判斷是否有後繼的責任物件 如果有,就轉發請求給後繼的責任物件 如果沒有,則處理請求
- */
- if (getSuccessor() != null) {
- System.out.println("放過請求");
- getSuccessor().handleRequest();
- } else {
- System.out.println("處理請求");
- }
- }
- }
- class Client {
- public static void main(String[] args) {
- // 組裝責任鏈
- Handler handler1 = new ConcreteHandler();
- Handler handler2 = new ConcreteHandler();
- handler1.setSuccessor(handler2);
- // 提交請求
- handler1.handleRequest();
- }
-
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2135693/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 責任鏈模式妙用模式
- 責任鏈模式探究模式
- 「責任鏈模式」栗子模式
- 設計模式 —— 責任鏈模式設計模式
- 設計模式-責任鏈模式設計模式
- 設計模式(責任鏈模式)設計模式
- 設計模式——責任鏈模式設計模式
- PHP-責任鏈模式PHP模式
- 這就是『責任鏈模式』?模式
- 5、php責任鏈模式PHP模式
- 強化責任鏈模式模式
- 責任鏈模式探討模式
- 23_責任鏈模式模式
- 設計模式之責任鏈模式設計模式
- 設計模式(三) 責任鏈模式設計模式
- Java責任鏈模式(ChainofResponsibility模式)Java模式AI
- 設計模式(十四) 責任鏈模式設計模式
- 設計模式(十八):責任鏈模式設計模式
- 責任鏈模式(Chain Of Responsibility)模式AI
- 責任鏈模式的實踐模式
- 聊一聊責任鏈模式模式
- 責任鏈模式(案例解析)(9)模式
- PHP 設計模式之責任鏈模式PHP設計模式
- 設計模式系列之「責任鏈模式」設計模式
- JAVA設計模式之責任鏈模式Java設計模式
- 極簡設計模式-責任鏈模式設計模式
- Netty中的責任鏈模式Netty模式
- Chain of responsibility-責任鏈模式AI模式
- 用Lambda重構責任模式鏈模式
- 設計模式(四)OkHttp的責任鏈模式設計模式HTTP
- 設計模式第七講-責任鏈模式設計模式
- 我的Java設計模式-責任鏈模式Java設計模式
- 代理模式增強之路(代理+責任鏈模式)模式
- c#中責任鏈模式詳解C#模式
- Design Patterns in Android:責任鏈模式Android模式
- 設計模式 | 責任鏈模式及典型應用設計模式
- Rust語言之GoF設計模式:責任鏈模式RustGo設計模式
- 設計模式(9)-責任鏈模式詳解(易懂)設計模式