设计模式15——外观模式

外观模式中提供一个统一的接口,然后对外观操作,内部成员可以不相同。

复制代码
 1 #ifndef Facade_H_H
 2 #define Facade_H_H
 3 
 4 class A{
 5 public:
 6     void showA(){
 7         cout << "This is class A" << endl;
 8     }
 9 };
10 
11 class B{
12 public:
13     void showB(){
14         cout << "This is class B" << endl;
15     }
16 };
17 
18 class C{
19 public:
20     void showC(){
21         cout << "This is class C" << endl;
22     }
23 };
24 
25 class Facade{
26 public:
27     Facade(){
28         pA = new A();
29         pB = new B();
30         pC = new C();
31     }
32 
33     void show(){
34         pA->showA();
35         pB->showB();
36         pC->showC();
37     }
38 
39     ~Facade(){
40         delete pA;
41         delete pB;
42         delete pC;
43     }
44 
45 private:
46     A *pA;
47     B *pB;
48     C *pC;
49 };
50 
51 
52 void FacadeTest(){
53     Facade *facade = new Facade();
54     facade->show();
55 
56     delete facade;
57 }
58 
59 #endif
复制代码

 

posted @   丛林小阁楼  阅读(132)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示