策略模式和工厂的区别在于,工厂是继承,策略是组合,我发现,很多设计模式都是实现一个功能,延迟实现,让编码更灵活,实属牛逼,策略模式游戏应该用得比较多,例如一个角色他可以是ad或者ap,但是他们实现的功能是一样的,那么我们就可以用一个攻击类作为成员对象,当客户端决定时再套个if else就行了
#include <iostream>
#include <thread>
#include <mutex>
#include<condition_variable>
#include <atomic>
#include<unordered_map>
#include<future>
using namespace std;
struct base {
virtual void show() {};
virtual ~base() {};
};
struct f1 :public base {
void show()
{
cout << "I am f1" << endl;
}
};
struct f2 :public base {
void show()
{
cout << "I am f2" << endl;
}
};
struct role {
base* data;
role(base* temp):data(temp)
{
}
};
int main()
{
role myrole(new f1());
myrole.data->show();
return 0;
}
2362

被折叠的 条评论
为什么被折叠?



