責任鏈模式,很多物件由每乙個物件對其下家的引用而連線起來形成一條鏈,請求在這個鏈上傳遞,直到鏈上的某乙個物件決定處理此請求。
場景:公司常見的事情——簽字,乙個待批准的任務,由管理者一層一層的批准結構設計
實現
抽象處理者
@data
public abstract class handler
具體處理者 小組長
@slf4j
public class teamleader extends handler",task);
return gethandler().handlerequest(task);
}log.info("組長駁回{}請求",task);
return false;}}
具體處理者 部門長
@slf4j
public class headofdepartment extends handler ",task);
return gethandler().handlerequest(task);
}log.info("部門長駁回{}請求",task);
return false;}}
具體處理者 技術總監
@slf4j
public class cto extends handler ",task);
return true;
}log.info("cto駁回{}請求",task);
return false;}}
經典應用filter(過濾器)就是乙個經典的責任鏈模式 入門設計模式之責任鏈模式
責任鏈模式 很多物件由每乙個物件對其下家的引用而連線起來行成的一條鏈。其實責任鏈模式一直在我們的身邊。某一天,董事長有個想法,他吩咐給了經理,經理吩咐給了組長,組長分配給了你我。這時候我們發現,我們沒有下級了呀,咋辦,那就幹唄。上方這個任務分配的過程就是責任鏈模式,乙個事件會一直向下層傳遞,董事長並...
設計模式 責任鏈模式
定義 避免請求傳送者與接收者耦合在一起,讓多個物件都有可能接收請求,將這些請求連線成一條鏈,並且沿著這條鏈傳遞請求,直到有物件處理它為止。例項 請假加薪審批 using system using system.collections.generic using system.text namespa...
設計模式 責任鏈模式
責任鏈可以使得系統在不影響客戶端的前提下動態的安排責任鏈和分配責任。責任鏈模式中包含的角色有抽象處理者,具體處理者以及請求的傳送者。責任鏈可以是一條直線,乙個環鏈甚至乙個樹結構。它使得每乙個具體的訊息處理者都有可能處理訊息。抽象的請求處理者 author wly public abstract cl...