设计模式之策略模式

本文介绍了策略模式,强调其核心在于算法的复用。通过示例代码展示如何在VS2012中使用策略模式,说明添加或修改算法只需在具体策略类中操作,而不会影响环境类,符合开闭原则,易于复用。
摘要由CSDN通过智能技术生成

      上篇我们讲了迭代器模式,这篇我们再来讲一下使用率很高的策略模式,策略模式的本质就是实现算法的复用,将环境调用中的算法抽象出来单独为类,环境调用就只调用算法的抽象类,要添加或修改算法时就只修改算法的具体类就可以了,不影响环境类,符合开闭原则,非常方便。


策略模式:

以下代码在VS2012上编译通过


.h文件


class Strategy//抽象算法策略类
{
public :
	virtual void algorithm();
};

class ConcreteStrategy:public Strategy//具体算法策略类1
{
public: 
	void algorithm();//算法1
};
class ConcreteStrategy2:public Strategy//具体算法策略类2
{
public: 
	void algorithm();//算法2
};

class Environment//环境调用类
{
private:
	Strategy* m_strategy;
public:
	Environment();
	void setStrategy(Strategy* strategy_);
	Strategy* getStrategy();
	
};

.cpp文件



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值