c++设计模式之外观模式

来源:互联网 发布:c语言中short什么意思 编辑:程序博客网 时间:2024/06/03 07:17

外观模式提供了一个统一的接口, 用来访问子系统中的一群接口, 外观定义了一个高层接口, 让子系统用更容易使用

实现一个外观, 需要将子系统组合进外观中, 然后将工作委托给子系统执行

外观模式是提供一个简单的接口, 好让一个子系统更易用


#ifndef Facade_h#defineFacade_hclass SubSystem1{public:void run1(){printf("SubSystem1 run1.\n");}};class SubSystem2{public:void run2(){printf("SubSystem2 run2.\n");}};class SubSystem3{public:void run3(){printf("SubSystem3 run3.\n");}};class Facade{public:Facade(SubSystem1 *s1, SubSystem2 *s2, SubSystem3 *s3){this->s1 = s1;this->s2 = s2;this->s3 = s3;}void run(){s1->run1();s2->run2();s3->run3();}private:SubSystem1 *s1;SubSystem2 *s2;SubSystem3 *s3;};#endif

测试


#include <iostream>#include "Facade.h"int main(int argc, char **argv){SubSystem1 s1;SubSystem2 s2;SubSystem3 s3;Facade f(&s1, &s2, &s3);f.run();return 0;}
0 0