`
kmplayer
  • 浏览: 518682 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设计模式之策略模式

阅读更多
1,策略(strategy)模式特征:运行时选择算法,可以用多种方法来解决某个问题.
2,实例代码
#include <iostream>
using namespace std;

class Strategy
{
public:
    virtual void greet()=0;
};

class Reject : public Strategy
{
protected:
    void greet(){ cout<<"Reject"<<endl; }
};
class Ignore : public Strategy
{
protected:
    void greet(){ cout<<"Ignore"<<endl; }
};
class Admission : public Strategy
{
protected:
    void greet(){ cout<<"Admission"<<endl; }
};

class RunStrategy
{
    Strategy& base;
public:
    RunStrategy(Strategy& s) : base(s) {}
    //这里方法的定义
    void greet(){ base.greet(); }
};


int main()
{
    Reject r;
    Ignore i;
    Admission a;
    RunStrategy rs1(r),rs2(i),rs3(a);
    rs1.greet();
    rs2.greet();
    rs3.greet();
    return 0;
}
分享到:
评论

相关推荐

    设计模式之策略模式 鸭子问题

    设计模式之策略模式 鸭子问题 策略模式是一种经典的设计模式,通过鸭子问题,可以让学习者更好地了解设计模式的概念和实现。策略模式的主要思想是定义一系列的算法,并将每一个算法封装起来,使它们可以相互替换。...

    设计模式之策略模式,商场收银,封装算法

    策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在软件开发中,我们经常遇到需要根据不同的条件或场景来执行不同算法的情况。策略模式就是为了解决这类问题而提出的,它将每种算法封装到具有共同接口...

    55-Java设计模式之策略模式与状态模式1

    Java 设计模式之策略模式与状态模式 策略模式是 Java 中的一种设计模式,它主要用于解决系统与第三方接口进行数据交互的问题。当系统需要与多种格式的数据进行交互时,使用策略模式可以很好地解决这个问题。例如,...

    设计模式之策略模式源码

    在给定的"设计模式之策略模式源码"工程中,我们可以看到通过一个简单的收银系统来展示策略模式的应用。收银系统是一个常见的业务场景,其中可能涉及多种结算策略,如折扣、满减、会员优惠等。通过策略模式,我们可以...

Global site tag (gtag.js) - Google Analytics