抽象處理者(handler)角色:定義乙個處理請求的介面,包含抽象處理方法和乙個後繼連線。
具體處理者(concrete handler)角色:實現抽象處理者的處理方法,判斷能否處理本次請求,如果可以處理請求則處理,否則將該請求轉給它的後繼者。
客戶類(client)角色:建立處理鏈,並向鏈頭的具體處理者物件提交請求,它不關心處理細節和請求的傳遞過程。
package chainofresponsibility;
public class chainofresponsibilitypattern
}//抽象處理者角色
abstract class handler
public handler getnext()
//處理請求的方法
public abstract void handlerequest(string request);
}//具體處理者角色1
class concretehandler1 extends handler
else
else
} }
}//具體處理者角色2
class concretehandler2 extends handler
else
else} }
}
設計模式 行為型 責任鏈模式
從擊鼓傳花談起 擊鼓傳花是一種熱鬧而又緊張的飲酒遊戲。在酒宴上賓客依次坐定位置,由一人擊鼓,擊鼓的地方與傳花的地方是分開的,以示公正。開始擊鼓時,花束就開始依次傳遞,鼓聲一落,假如花束在某人手中,則該人就得飲酒。擊鼓傳花的類圖結構如下 如果用乙個物件系統描述賈府,那麼賈母 賈赦 賈政 賈寶玉和賈環等...
設計模式 行為型 責任鏈模式
責任鏈 chain of responsibility 模式為請求建立了乙個接收者物件的鏈。這種模式給予請求的型別,對請求的傳送者和接收者進行解耦。這種型別的設計模式屬於行為型模式。使用場景 乙個請求物件需要多種任務的處理,通過鏈式傳播物件的場景。優點1.職責鏈對於客戶請求是透明的 2.鏈 將請求的...
行為型設計模式之責任鏈模式
責任鏈模式是一種鏈式結構,就是由乙個個節點首尾相接串起來的結構,具有很好的靈活性,將每乙個節點看作是乙個物件,每乙個物件擁有不同的處理邏輯,將乙個請求從鏈式的首端發出,沿著鏈的路徑依此傳遞每乙個節點物件,直到有物件處理這個請求為止,我們將這樣一種模式稱為責任鏈模式。使多個物件都有機會處理請求,從而避...