c 職責鏈模式

2021-08-19 23:08:48 字數 951 閱讀 3103

職 責鏈模式:使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處 理它為止。其思想很簡單,考慮員工要求加薪。公司的管理者一共有**,總經理、總監、經理,如果乙個員工要求加薪,應該向主管的經理申請,如果加薪的數量 在經理的職權內,那麼經理可以直接批准,否則將申請上交給總監。總監的處理方式也一樣,總經理可以處理所有請求。這就是典型的職責鏈模式,請求的處理形成 了一條鏈,直到有乙個物件處理請求。給出這個例子的uml圖。

};//經理

class commonmanager : public manager

void dealwithrequest(string name,int num)

}};class majordomo:public manager

virtual void dealwithrequest(string name,int num)

}};class generalmanager : public manager

void dealwithrequest(string name,int num)

說明:

1. 職責鏈的特點是:當客戶提交乙個請求時,請求是沿鏈傳遞直至有乙個manager物件負責處理它。

2. 職責鏈的好處是:請求者不用管哪個物件來處理,反正該請求會被處理。它只需保持乙個後繼者即可。

3. 要注意的是:乙個請求到鏈的最後可能也沒有處理,所以一定要配置得當。

C 職責鏈模式

職責鏈模式 chain of responsibility pattern 使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。uml 結構圖 優點 缺點 請假 流程處理 混跡職場,從來都身不由己,誰不想在繁...

設計模式 職責鏈模式 C

職責鏈模式 解耦請求的傳送者和請求的接受者,使多個物件都由機會接收到這個請求。所有的物件形成一條鏈,在這條鏈中總有乙個物件可以出來這個請求。場景 有多個物件可以處理乙個請求,那個物件處理這個請求則執行時確定 在不明確接受者的情況下,向多個物件中傳送乙個請求 include 任務型別 enum typ...

C 設計模式 職責鏈模式

目錄 基本概念 與例項 在哪種地方使用 職責鏈模式 chain of responsibility 時多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這個物件連線成一條鏈,並沿著這條鏈條傳遞該請求,直到有乙個物件處理它為止。這裡發出這個請求的客戶端並不知道這當中的哪個物件最終...