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

emptysoul

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

常用鏈接

留言簿(18)

我參與的團(tuán)隊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

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


用一個采購的例子來說明,采購人員在進(jìn)行采購前需經(jīng)過上級部門的批準(zhǔn),對于不同金額的采購分別要由不同級別的上級才能審批,假設(shè)1萬以內(nèi)的采購需要主管批準(zhǔn),10萬以內(nèi)的需要主管向總經(jīng)理申請批準(zhǔn),超過10萬總經(jīng)理向需董事長宴請批準(zhǔn),這時對于采購的審批過程就形成了一條責(zé)任鏈,對于不同的采購請求就需要一級一級的向上傳遞,并最終傳遞到最上級然后自行處理。
結(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 
<< "主管審批了采購請求" << endl;
    }
    
else
    {
        cout 
<< "申請金額走出主管權(quán)限范圍,需向總經(jī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)理審批了采購請求" << endl;
    }
    
else
    {
        cout 
<< "申請金額超出總經(jīng)理權(quán)限范圍,需向董事長申請審批" << 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 
<< "董事長審批了采購請求" << 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;
}

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

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

Feedback

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

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


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   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>
            亚洲美女精品一区| 99这里只有久久精品视频| 久久综合精品一区| 久久久欧美精品| 欧美中文字幕在线| 香蕉乱码成人久久天堂爱免费| 亚洲小少妇裸体bbw| 午夜激情综合网| 久久精品国产亚洲精品 | 正在播放欧美视频| 一区二区三区产品免费精品久久75 | 日韩午夜电影在线观看| av成人毛片| 性色av一区二区三区| 久久久久久久网| 欧美激情一区三区| 一本久道久久久| 性欧美办公室18xxxxhd| 免费人成精品欧美精品| 欧美香蕉大胸在线视频观看| 国内精品嫩模av私拍在线观看 | 最新国产成人av网站网址麻豆| 亚洲美女性视频| 欧美在线日韩| 亚洲日本久久| 欧美在线亚洲| 国产精品magnet| 在线播放中文字幕一区| 亚洲视频在线一区| 欧美成人激情在线| 亚洲综合大片69999| 欧美aa国产视频| 国产一区在线观看视频| 亚洲视频www| 欧美成va人片在线观看| 亚洲欧美日韩一区在线| 欧美日韩一卡二卡| 亚洲电影天堂av| 久久国产福利国产秒拍| 一本色道久久综合亚洲精品不| 久久精品人人爽| 国产麻豆91精品| 亚洲网站视频福利| 91久久亚洲| 欧美成人福利视频| 激情av一区| 久久久www成人免费毛片麻豆| 日韩一级精品| 亚洲成色777777女色窝| 午夜激情综合网| 国产精品久久福利| 亚洲午夜电影网| 亚洲麻豆av| 欧美剧在线观看| 日韩视频在线一区二区三区| 欧美电影免费| 免费视频最近日韩| 亚洲第一主播视频| 欧美福利网址| 欧美高清在线一区| 99热精品在线| 一区二区久久久久久| 国产精品v日韩精品v欧美精品网站| 亚洲精品美女91| 亚洲伦理自拍| 国产精品vvv| 欧美一区二区精品久久911| 亚洲淫片在线视频| 国产精品一区在线观看| 久久国产一区二区三区| 久久成人在线| 亚洲精品久久久久久久久久久| 亚洲品质自拍| 国产精品欧美久久| 久久青草欧美一区二区三区| 久久久精品一区| 亚洲人成毛片在线播放| 9色精品在线| 国产亚洲精品久久久久婷婷瑜伽| 狼人天天伊人久久| 欧美久久久久中文字幕| 亚洲专区欧美专区| 久久爱另类一区二区小说| 亚洲国产精品va在线看黑人 | 一区二区高清视频在线观看| 一本色道久久综合狠狠躁篇怎么玩| 国产精品毛片a∨一区二区三区| 欧美在线不卡视频| 久久久精品五月天| 亚洲色图综合久久| 欧美在线视频播放| 一区二区三区高清在线| 午夜日韩激情| 999亚洲国产精| 欧美自拍偷拍| 亚洲调教视频在线观看| 久久九九热免费视频| 一级成人国产| 久久天天狠狠| 亚洲欧美日韩国产一区| 久久视频在线视频| 亚洲女ⅴideoshd黑人| 久久亚洲精品欧美| 午夜国产精品视频免费体验区| 久久人人97超碰精品888| 亚洲网站在线| 欧美成人中文字幕| 亚洲国产精品精华液2区45 | 欧美在线观看日本一区| 欧美国产三级| 欧美国产日产韩国视频| 久久视频国产精品免费视频在线| 一本久道久久综合中文字幕| 亚洲激情啪啪| 亚洲国产美女| 亚洲成人在线免费| 亚洲啪啪91| 日韩视频中文| 一区二区久久久久久| 亚洲作爱视频| 亚洲午夜免费视频| 亚洲一区二区三区在线看| 欧美成人蜜桃| 最新国产の精品合集bt伙计| 欧美在线一级视频| 久久精品日韩一区二区三区| 亚洲主播在线| 欧美人与禽性xxxxx杂性| 免费成人你懂的| 韩国av一区二区| 午夜天堂精品久久久久 | 亚洲人成人一区二区在线观看| 久久大逼视频| 久久久久国产精品一区三寸| 国产精品无码专区在线观看| 亚洲一区日本| 久久riav二区三区| 国产日韩欧美一区二区三区在线观看| 99国产精品久久久久久久久久| 日韩一级大片在线| 欧美精品午夜| 99热在这里有精品免费| 一区二区三区四区国产精品| 欧美日韩高清在线观看| 一区二区三区导航| 亚洲综合电影| 国产欧美日韩在线| 欧美一区影院| 男人的天堂成人在线| 亚洲国产精品免费| 欧美激情精品久久久久| 日韩一级二级三级| 欧美在线一二三四区| 伊人久久久大香线蕉综合直播| 久久综合给合久久狠狠色| 亚洲黄色视屏| 亚洲欧美国产视频| 黑人巨大精品欧美一区二区 | 欧美jjzz| 欧美激情视频免费观看| 欧美福利小视频| 亚洲激情亚洲| 亚洲欧美精品伊人久久| 国模私拍一区二区三区| 麻豆91精品91久久久的内涵| 亚洲精品乱码久久久久久按摩观| 亚洲无线一线二线三线区别av| 国产伦精品一区二区三区高清版 | 亚洲欧美精品suv| 暖暖成人免费视频| 在线亚洲自拍| 黄色免费成人| 国产精品成人观看视频免费| 久久aⅴ国产欧美74aaa| 亚洲国产导航| 欧美在线网址| 亚洲精选在线观看| 国产精品亚洲综合一区在线观看| 久久久久国产精品厨房| 妖精成人www高清在线观看| 免费久久99精品国产| 亚洲欧美激情一区二区| 在线电影一区| 国产精品欧美日韩| 欧美激情一区二区三区蜜桃视频| 欧美一区免费| 国产精品99久久久久久久女警| 欧美成人精品在线播放| 欧美伊人精品成人久久综合97| 91久久视频| 尤物精品在线| 国产一级久久| 国产精品一区免费视频| 欧美日韩午夜精品| 欧美成人午夜激情在线| 久久久一二三| 久久精品国产2020观看福利| 亚洲欧美福利一区二区| 亚洲天堂成人在线观看| 亚洲国产专区|