Facade模式,为子系统中的一组接口提供一个一致的界面,定义了一个高层接口,这个接口使得这一子系统更加容易使用。
enum EGameType {
RPG = 0,
Cards,
FPS
}
// 策划设计
class Designer {
public:
void Design();
};
// 美术画图
class Artist {
public:
void Draw();
};
// 工程师实现
class Engineer {
public:
void Implement();
}
// 制作人是facade
class Producer {
public:
void Produce(EGameType type);// 开发一款某类型的游戏
private:
Engineer* engineer;
Designer* designer;
Artist* artist;
}
void Producer::Produce(EGameType type) {
designer->Design();
artist->Draw();
engineer->Implement();
}
// test
void Test() {
Producer* producer = new Producer();
producer->Produce(EGameType.RPG);
// todo ... destroy
}
PS. 我的设计模式系列blog,《设计模式》专栏,通过简单的示例演示设计模式,对于初学者很容易理解入门。深入学习请看GoF的《设计模式》。