青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

emptysoul

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  25 Posts :: 0 Stories :: 23 Comments :: 0 Trackbacks

常用鏈接

留言簿(18)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

責(zé)任鏈模式(Chain of Responsibility)的目標(biāo)是使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞請(qǐng)求,直到有一個(gè)對(duì)象處理它為止。結(jié)構(gòu)圖為:


用一個(gè)采購(gòu)的例子來(lái)說(shuō)明,采購(gòu)人員在進(jìn)行采購(gòu)前需經(jīng)過(guò)上級(jí)部門(mén)的批準(zhǔn),對(duì)于不同金額的采購(gòu)分別要由不同級(jí)別的上級(jí)才能審批,假設(shè)1萬(wàn)以內(nèi)的采購(gòu)需要主管批準(zhǔn),10萬(wàn)以內(nèi)的需要主管向總經(jīng)理申請(qǐng)批準(zhǔn),超過(guò)10萬(wàn)總經(jīng)理向需董事長(zhǎng)宴請(qǐng)批準(zhǔn),這時(shí)對(duì)于采購(gòu)的審批過(guò)程就形成了一條責(zé)任鏈,對(duì)于不同的采購(gòu)請(qǐng)求就需要一級(jí)一級(jí)的向上傳遞,并最終傳遞到最上級(jí)然后自行處理。
結(jié)構(gòu)圖如下:


實(shí)現(xiàn)代碼:
//Processor.h
class Processor
{
public:
    
virtual ~Processor();

    
virtual void Request(double= 0;
    
void SetSuccessor(Processor*);
protected:
    Processor();
    Processor
* m_pProcessor;
};

//Processor.cpp
#include "stdafx.h"
#include 
"Processor.h"

Processor::Processor()
{

}

Processor::
~Processor()
{
    
if(m_pProcessor != NULL)
    {
        delete m_pProcessor;
        m_pProcessor 
= NULL;
    }
}

void Processor::SetSuccessor(Processor* pProcessor)
{
    m_pProcessor 
= pProcessor;
}

//Director.h
#include "Processor.h"

class Director : public Processor
{
public:
    Director();
    
virtual ~Director();

    
void Request(double);
};

//Director.cpp
#include "stdafx.h"
#include 
"Director.h"
#include 
<iostream>

using namespace std;

Director::Director()
{

}

Director::
~Director()
{

}

void Director::Request(double dAmount)
{
    
if(dAmount <= 10000)
    {
        cout 
<< "主管審批了采購(gòu)請(qǐng)求" << endl;
    }
    
else
    {
        cout 
<< "申請(qǐng)金額走出主管權(quán)限范圍,需向總經(jīng)理申請(qǐng)審批" << endl;
        
if(this->m_pProcessor != NULL)
        {
            m_pProcessor
->Request(dAmount);
        }
    }
}

//Manager.h
#include "Processor.h"

class Manager : public Processor
{
public:
    Manager();
    
virtual ~Manager();

    
void Request(double);
};

//Manager.cpp
#include "stdafx.h"
#include 
"Manager.h"
#include 
<iostream>

using namespace std;

Manager::Manager()
{

}

Manager::
~Manager()
{

}

void Manager::Request(double dAmount)
{
    
if(dAmount <= 100000)
    {
        cout 
<< "總經(jīng)理審批了采購(gòu)請(qǐng)求" << endl;
    }
    
else
    {
        cout 
<< "申請(qǐng)金額超出總經(jīng)理權(quán)限范圍,需向董事長(zhǎng)申請(qǐng)審批" << endl;
        
if(this->m_pProcessor != NULL)
        {
            m_pProcessor
->Request(dAmount);
        }
    }
}

//Chariman.h
#include "Processor.h"

class Chariman : public Processor
{
public:
    Chariman();
    
virtual ~Chariman();

    
void Request(double);
};

//Chariman.cpp
#include "stdafx.h"
#include 
"Chariman.h"
#include 
<iostream>

using namespace std;

Chariman::Chariman()
{

}

Chariman::
~Chariman()
{

}

void Chariman::Request(double dAmount)
{
    cout 
<< "董事長(zhǎng)審批了采購(gòu)請(qǐng)求" << endl;
}

//main.cpp
#include "stdafx.h"
#include 
"Processor.h"
#include 
"Director.h"
#include 
"Manager.h"
#include 
"Chariman.h"

int main(int argc, char* argv[])
{
    Processor
* pDirector = new Director;
    Processor
* pManager = new Manager;
    Processor
* pChariman = new Chariman;
    pDirector
->SetSuccessor(pManager);
    pManager
->SetSuccessor(pChariman);

    pDirector
->Request(10000000.00);
    
return 0;
}

代碼中申請(qǐng)了超過(guò)10成的訂購(gòu)請(qǐng)求,于是各級(jí)別負(fù)責(zé)人一步一步向上級(jí)提交申請(qǐng),并最終由最上層決定審批結(jié)果。

運(yùn)行結(jié)果如下:
申請(qǐng)金額超出主管權(quán)限范圍,需向總經(jīng)理申請(qǐng)審批
申請(qǐng)金額超出總經(jīng)理權(quán)限范圍,需向董事長(zhǎng)申請(qǐng)審批
董事長(zhǎng)審批了采購(gòu)請(qǐng)求
posted on 2009-02-13 09:45 emptysoul 閱讀(2046) 評(píng)論(2)  編輯 收藏 引用

Feedback

# re: 設(shè)計(jì)模式-責(zé)任鏈模式 2011-05-10 16:56 路過(guò)人士
寫(xiě)的挺好  回復(fù)  更多評(píng)論
  

# re: 設(shè)計(jì)模式-責(zé)任鏈模式 2011-06-07 19:57 vincentpan
非常清晰 可以寫(xiě)書(shū)了  回復(fù)  更多評(píng)論
  


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国模私拍视频一区| 久久精品视频免费观看| 免费在线国产精品| 欧美在线网站| 久久久久久穴| 久久免费黄色| 久久综合狠狠| 亚洲丰满在线| 亚洲欧洲综合| 亚洲一线二线三线久久久| 亚洲欧美一区二区三区极速播放| 午夜视频精品| 欧美不卡在线| 国产精品日韩一区二区| 国产一区三区三区| 亚洲激情偷拍| 亚洲欧美成aⅴ人在线观看| 亚洲欧美偷拍卡通变态| 美女精品网站| 中文亚洲欧美| 免费观看亚洲视频大全| 国产精品美女www爽爽爽视频| 国产一区白浆| 亚洲午夜精品| 欧美二区在线| 性欧美1819性猛交| 欧美日韩视频在线一区二区 | 一区二区激情| 欧美一级播放| 欧美日韩国产欧| 一区国产精品| 欧美一区二区网站| 99re亚洲国产精品| 久久九九有精品国产23| 国产精品va| 99国产精品久久| 免费成人av资源网| 亚洲男女自偷自拍| 欧美日韩美女在线| 亚洲国语精品自产拍在线观看| 午夜视频在线观看一区二区三区 | 欧美国产三级| 久久久久五月天| 国产欧美精品xxxx另类| 宅男66日本亚洲欧美视频| 欧美77777| 久久精品99国产精品日本 | 国产精品电影在线观看| 亚洲精品之草原avav久久| 久久综合久久综合这里只有精品 | 欧美va天堂在线| 黄色国产精品| 久久嫩草精品久久久久| 欧美亚洲尤物久久| 亚洲国产日韩欧美| 欧美在线观看网站| 亚洲视频一区二区| 欧美日韩少妇| 日韩午夜中文字幕| 亚洲国产精品尤物yw在线观看 | 欧美精品一二三| 91久久极品少妇xxxxⅹ软件| 欧美凹凸一区二区三区视频| 久久久久久久综合| 黑人一区二区| 鲁鲁狠狠狠7777一区二区| 久久精品国产91精品亚洲| 国产一区二区三区四区hd| 久久精品99| 久久九九久精品国产免费直播| 国产亚洲欧美日韩精品| 久久亚洲国产成人| 久久天堂精品| 日韩视频三区| 中日韩高清电影网| 国产伦精品一区二区三区| 欧美在线亚洲一区| 久久久欧美精品| 亚洲国产欧美国产综合一区| 亚洲国产精品久久久久秋霞不卡| 欧美国产一区二区| 亚洲性感美女99在线| 亚洲欧美国产三级| 在线观看视频一区| 亚洲免费激情| 国产日韩欧美制服另类| 欧美高清在线观看| 国产精品麻豆成人av电影艾秋| 亚洲欧美日韩综合| 久久天天躁夜夜躁狠狠躁2022 | 日韩亚洲一区二区| 欧美三级电影精品| 久久亚洲欧美| 国产精品igao视频网网址不卡日韩| 亚洲一区二区三区精品在线 | 欧美一区二区三区免费视| 在线播放亚洲| 日韩午夜在线观看视频| 国产色产综合色产在线视频| 欧美成人免费小视频| 国产精品二区在线观看| 欧美大尺度在线观看| 国产精品久久久久天堂| 免费不卡亚洲欧美| 国产免费成人av| 最新热久久免费视频| 国语自产精品视频在线看一大j8 | 久久综合狠狠综合久久激情| 欧美噜噜久久久xxx| 亚洲精品久久久久久下一站 | 久久成人精品电影| 麻豆av福利av久久av| 午夜精品久久久久久久99水蜜桃| 久久在线免费观看| 欧美伊人久久久久久午夜久久久久| 毛片精品免费在线观看| 欧美在线观看一区二区| 欧美日韩国产专区| 欧美激情成人在线| 国产亚洲精品久久飘花| 9久re热视频在线精品| 亚洲精品久久久久久下一站| 久久久国产亚洲精品| 亚洲欧美日韩一区在线| 欧美四级剧情无删版影片| 亚洲国产精品成人一区二区| 狠狠色丁香久久婷婷综合丁香| 亚洲一级高清| 亚洲欧美视频在线观看视频| 欧美日韩免费一区| 亚洲日本中文| 亚洲最黄网站| 欧美激情1区2区3区| 欧美大胆成人| 亚洲国产精品一区二区第四页av | 久久精品免视看| 国产精品久久亚洲7777| 一本不卡影院| 亚洲摸下面视频| 国产精品日韩欧美一区| 亚洲一区在线观看免费观看电影高清| 99国产麻豆精品| 欧美日韩亚洲在线| 亚洲视频免费观看| 久久久精品日韩| 伊人久久男人天堂| 欧美激情视频网站| aa级大片欧美三级| 亚洲一区二三| 国产欧美日韩亚洲一区二区三区 | 亚洲成人在线网站| 这里只有精品视频在线| 欧美二区在线| 亚洲精品国精品久久99热一| 亚洲毛片av在线| 欧美三级电影一区| 亚洲欧美日本在线| 麻豆精品精华液| 亚洲精品一区二区三区99| 欧美人成网站| 亚洲欧美日韩系列| 免费观看久久久4p| 日韩视频一区二区三区在线播放免费观看 | 欧美午夜视频在线观看| 久久福利精品| 韩国一区二区三区在线观看| 久久久免费精品视频| 亚洲欧洲日产国码二区| 亚洲欧美文学| 在线免费不卡视频| 欧美日韩福利| 欧美一区二区三区在| 亚洲第一网站| 亚洲欧美一区二区激情| 国自产拍偷拍福利精品免费一| 久久久久久久久久久久久9999| 欧美韩国在线| 欧美一区二区女人| 99国产精品| 在线播放不卡| 国产精品欧美经典| 免费成人黄色| 午夜性色一区二区三区免费视频| 蜜月aⅴ免费一区二区三区| 中文精品一区二区三区 | 国产欧美一区二区色老头| 久久久久久一区| 亚洲一区在线播放| 亚洲日本aⅴ片在线观看香蕉| 久久精品夜色噜噜亚洲a∨ | 久久精品一二三区| 一区二区欧美在线| 男人天堂欧美日韩| 欧美在线观看视频一区二区| 日韩网站在线观看| 在线不卡中文字幕| 国产日韩精品一区二区| 欧美日韩在线免费观看| 欧美成人免费观看| 久久理论片午夜琪琪电影网|