設計模式 職責鏈模式

2021-07-16 15:51:53 字數 1055 閱讀 6655

1. 職責鏈模式:使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這個物件連成一條鏈,並且沿著這條鏈傳遞該請求,直到有乙個物件處理它為止;

2. 應用場景:給系統降低了耦合性,請求的傳送者完全不必知道該請求會被哪個應答物件處理;

3. 結構圖

// 定義乙個處理請示的介面;

class handler

// 處理請求的抽象方法;

virtual void handlerequest(int ireauest) = 0;

protected:

handler *m_phandler;

};// 具體處理者類

class concretehandler1 : public handler

else if (m_phandler != null) // 轉移到下一位;}};

// 具體處理者類

class concretehandler2 : public handler

else if (m_phandler != null) // 轉移到下一位;}};

// 客戶端**:

#include "concretehandler1.h"

#include "concretehandler2.h"

#include "concretehandler3.h"

//   職責鏈模式:使多個物件都有機會處理請求,從而避免請求的傳送者和接收者之間的耦合關係。將這個物件連成一條鏈,並且沿著這條鏈傳遞該請求,直到有乙個

//   物件處理它為止;[8/14/2016 zosh];

int _tmain(int argc, _tchar* argv)

;for each (int i in irequests) // 遍歷請求命令;

// 清除指標與記憶體;

if (ph1)

if (ph2)

if (ph3)

return 0;

}

設計模式 職責鏈模式

2008年08月17日 星期日 下午 04 28 using system using system.collections.generic using system.text public officer officer o public abstract void deal action a c...

設計模式 職責鏈模式

1 request.h ifndef request h define request h include include using namespace std class request 請求類定義 endif request h 2 manager.h ifndef manager h def...

設計模式 職責鏈模式

今天跟大家分享下設計模式中的職責鏈模式。不知道大家在學習職責鏈模式的時候是否感覺困難。我剛開始學的時候就被整暈了。呵呵,進入正題。職責鏈模式是物件行為型模式中比較有特點的設計模式了,的確有意思,它可以像資料結構中煉表一樣傳遞。其實生活中好多的行為方式都體現了職責鏈模式,我們初期學習者可以把職責鏈模式...