策略模式其实是很简单并且很好用的一个模式。在开发中,我们经常碰到一个功能,可以使用不同的算法去实现它,我们要根据不同的情况去调用对应的算法,策略模式就是定义一系列算法,并且把它们封装起来,并且使它们相互可替换。其实这个模式就和多态的思想很相近。
例如,我们去旅游可以使用不同的策略:走路,跑步,飞。。。我们可以根据自己的情况去使用相对应的策略。
/***********************************************************************main.cpp********************************************************************/
#include "Fly.h"
#include "Travel.h"
#include "Run.h"
#include "Walk.h"
int main()
{
Travel * myTravel =(Travel*) new Walk;
myTravel->travel();//输出Walk
myTravel = (Travel*) new Run;
myTravel->travel();//输出Run
myTravel = (Travel*) new Fly;
myTravel->travel();//输入Fly
getchar();
return 0;
}
/***********************************************************************Travel.h****************