【Design Pattern】外观模式 Facade

来源:互联网 发布:青岛软件开发工资待遇 编辑:程序博客网 时间:2024/05/29 17:42

外观模式


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

通过上述代码可以看到,

为了


0 0
原创粉丝点击