外观模式
外观模式其实很简单,就是把一系列的方法进行封装。比如说以下这个游戏有两个怪物,一个是小怪一个是boss。当游戏难度的不同时怪物的血量会不同。请看如下代码:
class Monster
{
private:
int HP;
public:
Monster(int HP)
{
this->HP = HP;
}
};
class Small_monster:public Monster
{
public:
Small_monster(int HP):Monster(HP)
{
}
};
class Boss_monster:public Monster
{
public:
Boss_monster(int HP):Monster(HP)
{
}
};
那么在客户端要使用的话会这样做:
class Client
{
public:
static client_func()
{
//easy level
vector<Monster*> easy_level;
Monster* small = new Small_monster(200);
Monster* boss = new Boss_monster(2000);
easy_level.push_back(small);
easy_level.push_back(boss);
//middle level
vector<Monster*> middle_level;
Monster* small = new Small_monster(2000);
Monster* boss = new Boss_monster(20000);
easy_level.push_back(small);
easy_level.push_back(boss);
//hard level
vector<Monster*> hard_level;
Monster* small = new Small_monster(20000);
Monster* boss = new Boss_monster(200000);
easy_level.push_back(small);
easy_level.push_back(boss);
}
};
通过上述代码可以看到,
为了