话说在代理模式下,在王婆的邪恶帮助下,潘金莲与西门庆已经取得了初步的认识,通过代理(媒婆王婆)西门庆初步取得了成功,已近开始接近潘金莲骚妇。可是要想进一步发展关系可不能光天华日之下来来往往,于是乎通过王婆此媒人将他们之间的联络暗号初步定好了。
1.在武大郎生气的时候,潘金莲就会在门口挂五角星提示西门庆,武大郎生气!(至于是什么原因就不说了,如武大郎今天烧饼没赚钱,还被打了一顿,或武大郎出门被天上鸟拉屎)
2.武大郎高兴的时候,潘金莲在门口挂三角符号,提示西门庆武大郎很高兴,我们三更七里桥约会,(今天赚钱了,多喝了几杯醉意十足早早入睡)
3。武大郎病重 ,潘金莲在门口挂十字架提示西门庆,来我家约会更刺激。(武大郎经常早出晚归,风催日晒,得了重感冒,古人云风寒)
xxxx等等武大郎的状态,根据武大郎的状态潘金莲就有相应的策略来应对,以保全他们之间鱼水之欢。
定义一个策略接口
class strategy{
public:
strategy(void){};//do nothing
~strategy(void){};//do nothing
virtual void sense(void)=0;//understand by insight
};
定义应对武大郎状态的策略方法集
class context{
public:
context(strategy* pstrategy);
~context(void);
void sense(void);
private:
strategy* m_pstrategy;
};
武大郎生病策略
class shengbin:public strategy{
public :
shengbin(void);
~shengbin(void);
void sense(void);
};
- #include "shengbin.h"
- #include <iostream>
- using namespace std;
- shengbin::shengbin(void){
- //do nothing
- }
- shengbin::~shengbin(void){
- //do nothing
- }
- void shengbin::sense(void){
- cout<<"潘金莲:门口挂十字架符号,提示西门庆,武大郎身体病重虚弱,三更来我家幽会"<<endl;
- }
武大郎高兴策略
class gaoxing:public strategy{
public:
gaoxing(void);
~gaoxing(void);
void sense(void);
};
- #include "gaoxing.h"
- #include <iostream>
- using namespace std;
- gaoxing::gaoxing(void){
- //do nothing
- }
- gaoxing::~gaoxing(void){
- //do nothing
- }
- void gaoxing::sense(void){
- cout<<"潘金莲:门口挂三角符号,提示西门庆,我灌醉他后,三更七里桥幽会"<<endl;
- }
武大郎生气策略
class shengqi:public strategy{
public:
shengqi(void);//生气
~shengqi(void);
void sense(void);
};
- #include "shengqi.h"
- #include <iostream>
- using namespace std;
- shengqi::shengqi(void){
- //do nothing
- }
- shengqi::~shengqi(void){
- //do nothing
- }
- void shengqi::sense(void){
- cout<<"潘金莲:门口挂五角星,提示西门庆 武大郎生气,他失眠!今晚幽会取消!"<<endl;
- }
以上代码在linux测试通过
[root@localhost Debug]# ./strategy
策略模式演示程序
潘金莲:门口挂三角符号,提示西门庆,我灌醉他后,三更七里桥幽会
潘金莲:门口挂五角星,提示西门庆 武大郎生气,他失眠!今晚幽会取消!
潘金莲:门口挂十字架符号,提示西门庆,武大郎身体病重虚弱,三更来我家幽会
[root@localhost Debug]#
阅读(2106) | 评论(1) | 转发(0) |