處理類的抽象父類。
concretehandler
具體的處理類。
責任鏈優缺點
優點:
1。責任的分擔。每個類只需要處理自己該處理的工作(不該處理的傳遞給下乙個物件完成),明確各類的責任範圍,符合類的最小封裝原則。
2。可以根據需要自由組合工作流程。如工作流程發生變化,可以通過重新分配物件鏈便可適應新的工作流程。
3。類與類之間可以以松耦合的形式加以組織。
缺點:
因為處理時以鏈的形式在物件間傳遞訊息,根據實現方式不同,有可能會影響處理的速度。
適用於:
鏈條式處理事情。工作流程化、訊息處理流程化、事物流程化;
/** * 行為型模型 責任鏈模式
* command模式也叫命令模式 ,是行為設計模式的一種。
* chain of responsibility(cor)模式也叫職責鏈模式或者職責連鎖模式,是行為模式之一,
* 該模式構造一系列分別擔當不同的職責的類的物件來共同完成乙個任務,這些類的物件之間像鏈條一樣緊密相連,所以被稱作職責鏈模式。 *
*/#define _crt_secure_no_warnings#include
#include
#include
class
carhandle
virtual
void handlecar() = 0
;
virtual ~carhandle() {}
protected
:
//注意: 此變數為保護屬性
carhandle *carhandle;
};class carhandlehead: public
carhandle
}};class carhandlebody: public
carhandle
}};class carhandletail: public
carhandle
}};void
mytest()
intmain()
行為型模式(一) 責任鏈模式
責任鏈 chain of responsibility 模式 為了避免請求傳送者與多個請求處理者耦合在一起,將所有請求的處理者通過前一物件記住其下乙個物件的引用而連成一條鏈 當有請求發生時,可將請求沿著這條鏈傳遞,直到有物件處理它為止。注意 責任鏈模式也叫職責鏈模式。在責任鏈模式中,客戶只需要將請求...
行為型模式之責任鏈模式
目錄應用場景 擴充套件 純 不純的職責鏈模式 在現實生活中,常常會出現這樣的事例 乙個請求有多個物件可以處理,但每個物件的處理條件或許可權不同,如找領導出差報銷等。在計算機軟硬體中也有相關例子,如匯流排網中資料報傳送 異常處理。所有這些,如果用責任鏈模式都能很好解決。責任鏈 chain of res...
設計模式 行為型模式 責任鏈模式
設計模式 行為型模式 責任鏈模式 將請求沿著鏈傳遞,然後直到物件處理即可。邏輯如上,只處理1,2,3情況,其餘的情況都不處理。物件 public class level public boolean above level level 將物件進行封裝 public class request pub...