Chain of Responsibility Pattern用途 Chain of Responsibility Pattern類似一個結構化的switch,輸入若不符合條件就會給下一個case處理。 Chain of Responsibility Pattern實作結構 基本所需的結構有upSendData、SetUpSendData、Processor三個。 upSendData:主要是記錄下一個Processor所處裡的資料。 SetUpSendData:用來設定紀錄upSendData的資料,也就是結構連結下一個處理資料的設定。 Processor:主要執行目前的結構要處理的事情。 Chain of Responsibility Pattern設計概念 1.Processor設計:需要有一個判斷是否可以被當下Processor處理的規則,若不符合此規則會檢查是否還有下一個檢查項目,若已經是最後一個檢查項目,則作沒有符合項目的處理,若有下一個檢查項目會call下一個檢查項目的Processor繼續做下去。(如下範例) public override void Processor(input) { if (判斷條件) { ... } else { if (null != upSendData) upSendData.Processor(input); } } 2.SetUpSendData和upSendData設計:SetUpSendData和upSendData基本上是固定的寫法,SetUpSendData用來設定下一個檢查項目的upSendData讓upSendData.Processor可以往下串接。(如下範例) protected SendDataHandler upSendData; public void SetUpSendData(SendDataHandler upSendData) { this.upSendData = upSendData; } abstract class SendDataHandler { protected Dictionary<string, string> D; protected SendDataHandler upSendD...
在這小圈圈內, 會分享一些軟體新知或行銷的想法或概念, 歡迎大家多多流言交流想法