java設計模式第5彈 責任鏈模式

2021-07-05 05:27:54 字數 748 閱讀 5988

一、責任鏈模式慨念

責任鏈模式,有多個物件,每個物件持有對下乙個物件的引用,這樣就會形成一條鏈,請求在這條鏈上傳遞,直到某一物件決定處理該請求。但是發出者並不清楚到底最終那個物件會處理該請求。

二、解決的問題

責任鏈模式可以實現,在隱瞞客戶端的情況下,對系統進行動態的調整

三、**模擬實現(部分**摘自網上)

abstracthandler類提供了get和set方法,方便myhandle類設定和修改引用物件,myhandle類是核心,例項化後生成一系列相互持有的物件,構成一條鏈。

public inte***ce handler 

public abstract class abstracthandler

public void sethandler(handler handler)

}public class myhandler extends abstracthandler implements handler

@override

public void operator()

}public class test

}

輸入如下:

h1----

h2----

h3----

此處強調一點就是,鏈結上的請求可以是一條鏈,可以是乙個樹,還可以是乙個環,模式本身不約束這個,需要我們自己去實現,同時,在乙個時刻,命令只允許由乙個物件傳給另乙個物件,而不允許傳給多個物件。

java設計模式 責任鏈模式

步驟一 建立抽象處理者 handler 角色 這裡是操作與處理分開,介面定義操做方法,抽象類定義處理方法,具體可以寫在一起也行 public inte ce handlerpublic abstract class abstracthandler public void sethandler han...

Java設計模式 責任鏈模式

責任鏈模式責任鏈的應用場景 servlet api 中的filter過濾器 mvc 框架中的 簡單使用責任鏈模式拆分 servlet api 中的過濾器 模擬servlet中的request物件 desc模擬 servlet 中的 request 物件 模擬servlet中的response物件 d...

Java責任鏈設計模式實戰

一 abstract class abstracthandler public handler gethandler inte ce handler class myhandler extends abstracthandler implements handler override public ...