設計模式之責任鏈模式(chain of responsibility)是web專案中最經常用到的乙個設計模式,比如是apache tomcat 的對encoding的 處理,struts2 的***, jsp servlet 的filter 等等,都是基於責任鏈模式設計的。
下面直接來模擬web傳送乙個請求request經過兩個過濾鏈htmlfilter過濾標籤、sensitivefilter過濾敏感詞彙,經過過濾之後返回乙個response物件
例項**:
public inte***ce filter
public class htmlfilter implements filter
}public class sensitivefilter implements filter
}public class filterchain implements filter
filter f = list.get(index);
index++;
f.dofilter(req, rsp, chain);
} public filterchain addfilter(filter f)
}public class request
public void setrequest(string request)
}public class response
public void setresponse(string response)
}public class main
}
java設計模式之責任鏈模式
chain ofresponsibility cor 模式也叫職責鏈模式或者職責連鎖模式,是行為模式之一,該模式構造一系列分別擔當不同的職責的類的物件來共同完成乙個任務,這些類的物件之間像鏈條一樣緊密相連,所以被稱作職責鏈模式。這種模式給予請求的型別,對請求的傳送者和接收者進行解耦。在這種模式中,通...
java設計模式之責任鏈模式
uml設計 定義 職責鏈模式 稱責任鏈模式 將請求的處理物件像一條長鏈一般組合起來,形成一條物件鏈。請求並不知道具體執行請求的物件是哪乙個,這樣就實現了請求與處理物件之間的解耦 示例 public abstract class leader public leader getnextleader 1...
java設計模式 責任鏈模式
步驟一 建立抽象處理者 handler 角色 這裡是操作與處理分開,介面定義操做方法,抽象類定義處理方法,具體可以寫在一起也行 public inte ce handlerpublic abstract class abstracthandler public void sethandler han...