您的位置:首页 > 其它

【Design Pattern】外观模式 Facade

2016-03-23 23:17 387 查看
外观模式

外观模式其实很简单,就是把一系列的方法进行封装。比如说以下这个游戏有两个怪物,一个是小怪一个是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);
}
};

通过上述代码可以看到,

为了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: