facade模式

本文通过一个简单的C++示例介绍了外观(Facade)设计模式。该模式提供了一个统一的接口来访问子系统中的一群接口,使得子系统更容易使用。示例代码展示了如何通过Facade类调用Subsystem1和Subsystem2的操作。

有时不想对内部了解太多,只想获得一个接口,facade模式最好不过。

 1 #include <iostream>
 2 #include <string>
 3 #include <vector>
 4 #include <queue>
 5 #include <set>
 6 #include <algorithm>
 7 #include <map>
 8 #include <stack>
 9 using namespace std;
10 
11 class Subsystem1 {
12 public:
13     void Operation() {
14         cout << "operation 1\n";
15     }
16 
17 };
18 
19 class Subsystem2 {
20 public:
21     void Operation() {
22         cout << "operation 2\n";
23     }
24 
25 };
26 
27 class Facade {
28 public:
29     Facade() {
30         _subs1 = new Subsystem1();
31         _subs2 = new Subsystem2();
32     }
33     ~Facade() {
34         delete _subs1;
35         delete _subs2;
36     }
37     void OperationWrapper() {
38         _subs1->Operation();
39         _subs2->Operation();
40     }
41 
42 private:
43     Subsystem1* _subs1;
44     Subsystem2* _subs2;
45 };
46 
47 int main() {
48     Facade kaka;
49     kaka.OperationWrapper();
50     return 0;
51 }

转载于:https://www.cnblogs.com/kakamilan/archive/2012/07/24/2606704.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值