日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

23种设计模式C++源码与UML实现--外观模式

發布時間:2025/3/15 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 23种设计模式C++源码与UML实现--外观模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

外觀模式

facade模式也叫外觀模式,是由GoF提出的23種設計模式中的一種,facade模式為一組具有類似功能的類群,比如類庫,子系統等等,提供一個一致的簡單界面。這個一致的簡單的界面被稱為facade。

Facade

為調用方,定義簡單的調用接口

Clients

調用者,通過facade接口調用提供某功能的內部類群

Packages

功能提供者,指提供功能的類群

適用于:為子系統提供統一一套接口,讓子系統更加容易使用。

// // Created by andrew on 2020/11/21. // #include <iostream>using namespace std;class SubSystemA{ public:void doThing(){cout << "Subsystem A run" << endl;} };class SubSystemB{ public:void doThing(){cout << "SubSystem B run" << endl;} };class SubSystemC{ public:void doThing(){cout << "SubSystem B run" << endl;} };class Facade{ public:Facade(){sysA = new SubSystemA;sysB = new SubSystemB;sysC = new SubSystemC;}~Facade(){delete sysA;delete sysB;delete sysC;}public:void doThing(){sysA->doThing();sysB->doThing();sysC->doThing();}private:SubSystemA *sysA;SubSystemB *sysB;SubSystemC *sysC; };int main(int argc, char *argv[]) { // 沒有使用之前cout << "before use facade" << endl;SubSystemA *sysA = new SubSystemA;SubSystemB *sysB = new SubSystemB;SubSystemC *sysC = new SubSystemC;sysA->doThing();sysB->doThing();sysC->doThing();delete sysA;delete sysB;delete sysC; // 是要給你之后cout << "after usr facade" << endl;Facade *f = new Facade;f->doThing();delete f;return 0; }

總結

以上是生活随笔為你收集整理的23种设计模式C++源码与UML实现--外观模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。