`

职责链模式(Responsibility)

 
阅读更多
职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止




#include <iostream>
using namespace std;

class Member{
public:
    void setRequestLeaveDay(int day){
        mRequestLeaveDay = day;
    }
    int getRequestLeaveDay(){
        return mRequestLeaveDay;
    }
private:
    int mRequestLeaveDay;
};

class Handler{
public:
    virtual void handleLeave(Member* m)=0;
};

class Boss:public Handler
{
public:
    void handleLeave(Member* m){
        if(m->getRequestLeaveDay()<10){
            cout << "老板同意请假" << endl;
        }
    }
};

class ProjectManager:public Handler
{
public:
    ProjectManager(Handler* nextHandler){
        mNextHandler = nextHandler;
    }
    void handleLeave(Member *m){
        if(m->getRequestLeaveDay()<=3){
            cout << "项目经理同意请假" << endl;
        }else{
            mNextHandler->handleLeave(m);
        }
    }
private:
    Handler* mNextHandler;
};

class TeamLeader:public Handler
{
public:
    TeamLeader(Handler* nextHandler){
        mNextHandler = nextHandler;
    }
    void handleLeave(Member *m){
        if(m->getRequestLeaveDay()<=1){
            cout << "小组长同意请假" << endl;
        }else{
            mNextHandler->handleLeave(m);
        }
    }
private:
    Handler* mNextHandler;
};

int main()
{
    Boss *boss = new Boss;
    ProjectManager *projectManager = new ProjectManager(boss);
    TeamLeader *teamLeader = new TeamLeader(projectManager);
    Member *m = new Member;
    m->setRequestLeaveDay(4);
    teamLeader->handleLeave(m);
}

老板同意请假
  • 大小: 16.3 KB
分享到:
评论

相关推荐

    设计模式 - 职责链模式(C++实例)

    职责链模式(Chain of Responsibility)是一种行为设计模式,它的核心思想是将一系列处理请求的对象组织成一条链,每个对象都包含对请求的处理或传递的责任。在C++中实现职责链模式,我们可以创建一个抽象处理器类,...

    设计模式:职责链模式

    职责链模式(Chain of Responsibility)是设计模式中的一种行为模式,它允许将请求沿着处理者对象的链式结构进行传递,直到某个对象决定处理这个请求。这种模式的主要优点在于可以解耦发送者和接收者,使得系统更加...

    职责链模式模型代码

    职责链模式(Chain of Responsibility)是一种行为设计模式,它允许我们沿着对象链传递请求,让每个对象决定是否处理这个请求,或者将请求传递给链中的下一个对象。在C#中,我们可以利用类和接口来实现这种模式。让...

    Chain of Responsibility 职责链模式

    C#面向对象设计模式 Chain of Responsibility 职责链模式 视频讲座下载

    chain of responsibility 职责链模式(行为模式)

    职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求的发送者和接收者解耦,使得多个对象都有可能处理一个请求,而无需显式指定接收者。在这个模式中,请求沿着一个处理者链进行传递,...

    (行为型模式) Chain Of Responsibility 职责链模式

    ### (行为型模式) Chain Of Responsibility 职责链模式 #### 李建忠 jianzhong.lee@gmail.com #### 设计模式论坛: forum.softcompass.com #### 上海祝成科技高级培训讲师 www.softcompass.com #### 请求的发送者...

    职责链模式代码示例

    职责链模式是一种设计模式,它允许我们把请求沿着处理者对象的链条传递,直到某个对象...在提供的"Chain of Responsibility"文件中,你可以找到具体的代码示例,帮助你更深入地理解如何在实际项目中运用职责链模式。

    C#面向对象设计模式纵横谈(20):(行为型模式) Chain Of Responsibility 职责链模式

    职责链模式(Chain of Responsibility)是一种行为型设计模式,它允许将请求沿着处理者对象的链进行传递,直到某个对象能够处理这个请求。在C#中,职责链模式的应用可以帮助我们构建灵活、可扩展的系统,减少对象...

    C++ 职责链 设计模式

    职责链模式的核心思想是定义一个处理请求的接口,每个处理者对象都实现了这个接口,并且持有对下一个处理者的引用。当请求到来时,它可以处理请求,或者将请求传递给下个处理者。这样,一个请求可以沿着处理者链流动...

    C#面向对象设计模式纵横谈(14):Chain of Responsibility 职责链模式(行为型模式)

    ### C#面向对象设计模式纵横谈(14):Chain of Responsibility 职责链模式(行为型模式) #### 概述 在本篇文章中,我们将深入探讨C#中的Chain of Responsibility(职责链)模式,这是行为型设计模式的一种。虽然标题...

    C#面向对象设计模式纵横谈(14):Chain of Responsibility 职责链模式(行为型模式) (Level 300)

    职责链模式(Chain of Responsibility)是一种行为型设计模式,它允许你将请求沿着处理者对象的链进行传递,直到某个对象处理该请求。在C#编程中,职责链模式能够帮助我们实现一种松耦合的架构,使得请求的发送者和...

    Objective C职责链模式设计源码

    职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 职责链模式的一个...

    第十九讲:职责链模式

    职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它使你能在不指定接收者的情况下,将请求沿着处理者链进行发送。每个处理者都包含对下一个处理者的引用,允许请求在链中传递,直到被某个处理者...

    职责链模式的结构优化

    职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着处理者对象的链进行传递,直到某个对象处理该请求。这种模式的主要优点是解耦了发送者和接收者,使得系统更加灵活,可以动态...

    设计模式职责链模式PPT学习教案.pptx

    **职责链模式(Chain of Responsibility Pattern)**是一种行为型设计模式,它允许将多个对象串联成一个处理请求的链。在职责链模式中,一个请求沿着处理者链传递,每个对象都有机会处理请求,直到找到合适的处理者...

    第4.1章 职责链模式1

    职责链模式(Chain of Responsibility)是一种行为设计模式,它的核心思想是通过建立一条处理者对象的链,并在链上顺序传递请求,直到找到合适的处理者为止。这种模式的主要目的是解耦请求的发起者和处理者之间的...

    C++设计模式之职责链模式

    职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着处理者对象的链式结构进行传递,直到某个对象能够处理该请求。在C++中,职责链模式通常用于解耦发送者和接收者,使得系统更加...

    职责链模式

    职责链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许将请求沿着处理者对象的链进行传递,直到某个对象能够处理这个请求。在Java中,这种模式常用于解耦发送请求的对象和处理请求的对象,使得...

Global site tag (gtag.js) - Google Analytics