国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++設(shè)計模式之外觀模式(Facade)

2020-05-23 13:34:37
字體:
供稿:網(wǎng)友

外觀模式應(yīng)該是程序員最下意識用的一種模式,比如我們習(xí)慣性的對復(fù)雜系統(tǒng)做一個封裝接口。外觀模式其本質(zhì)是對一堆復(fù)雜對象和應(yīng)用的接口抽象,對它們進行封裝隔離,對于調(diào)用者來說只需要關(guān)系接口的實現(xiàn),而不需要知道內(nèi)部有哪些對象和調(diào)用。

作用

為模塊的一組接口提供一致的界面,定義了一個高層接口,這個接口使得這一模塊更加容易使用。

類視圖

C++,設(shè)計模式,外觀模式

實現(xiàn)

 

//復(fù)雜或多對象class objectOne{  public void operator()   {    cout<<"operator one/n";  }}class objectTwo{  public void operator()   {    cout<<"operator two/n";  }}class objectThree{  public void operator()   {    cout<<"operator three/n";  }}class objectFour{  public void operator()   {    cout<<"operator four/n";  }}//外觀實現(xiàn)class Facade{  objectOne one;  objectTwo two;  objectThree three;  objectFour four;  public Facade()   {    obj1 = new objectOne();    obj2 = new objectTwo();    obj3 = new objectThree();    obj4 = new objectFour();  }  public void MethodA()   {    cout<<" Fun A()-----/n");    obj1.operator();    obj2.operator();    obj3.operator();    obj4.operator();  }  public void MethodB()   {    cout<<" Fun B()-----/n");    obj4.operator();    obj3.operator();    obj2.operator();    obj1.operator();  }}//調(diào)用void main() {  Facade facade = new Facade();  facade.MethodA();  facade.MethodB();}

應(yīng)用場景

  • 構(gòu)建上下層次的模塊時,如果上下進行調(diào)用,則會出現(xiàn)強耦合,用外觀模式實現(xiàn)上下級模塊的接口,簡化相互調(diào)用的交叉,降低上下層的耦合度;
  • 在多個復(fù)雜模塊相互協(xié)作工作時,向上用外觀類提煉出高層接口,對外隱藏其內(nèi)部的實現(xiàn)并隔離變化;
  • 對單獨模塊或者對復(fù)雜模塊的封裝,提煉出外觀類進行封裝訪問,解耦合。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 信宜市| 大厂| 邢台县| 绍兴市| 连山| 习水县| 申扎县| 德钦县| 乐陵市| 高淳县| 红河县| 边坝县| 深圳市| 渭源县| 木兰县| 桐乡市| 沐川县| 青州市| 原阳县| 辉县市| 本溪| 大田县| 平和县| 葫芦岛市| 清徐县| 平凉市| 安顺市| 清涧县| 平原县| 元阳县| 贺兰县| 江山市| 镇沅| 巴中市| 会宁县| 成安县| 临海市| 开化县| 波密县| 政和县| 荆州市|