最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年03月28日 10:40:33   作者:chencarl  
這篇文章主要為大家詳細介紹了C++設計模式之外觀模式(Facade),具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

作用

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

類視圖

實現(xiàn)

//復雜或多對象
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();
}


應用場景

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 詳解c++ 靜態(tài)成員變量

    詳解c++ 靜態(tài)成員變量

    這篇文章主要介紹了c++ 靜態(tài)成員變量的相關資料,幫助大家更好的理解和學習c++,感興趣的朋友可以了解下
    2020-09-09
  • C語言實現(xiàn)拼圖游戲

    C語言實現(xiàn)拼圖游戲

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)拼圖游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++實現(xiàn)希爾排序算法實例

    C++實現(xiàn)希爾排序算法實例

    大家好,本篇文章主要講的是C++實現(xiàn)希爾排序算法實例,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C++實現(xiàn)分水嶺算法(Watershed Algorithm)

    C++實現(xiàn)分水嶺算法(Watershed Algorithm)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)分水嶺算法Watershed Algorithm,具有一定的參考價值,感興趣的小伙伴們可以參考一 下
    2018-01-01
  • VS2019創(chuàng)建c++動態(tài)鏈接庫dll與調(diào)用方法實踐

    VS2019創(chuàng)建c++動態(tài)鏈接庫dll與調(diào)用方法實踐

    動態(tài)鏈接庫是一個包含可由多個程序同時使用的代碼和數(shù)據(jù)的庫,本文主要介紹了VS2019創(chuàng)建c++動態(tài)鏈接庫dll與調(diào)用方法,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 基于make命令與makefile文件詳解

    基于make命令與makefile文件詳解

    下面小編就為大家分享一篇基于make命令與makefile文件詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • C語言 文件操作解析詳解及實例代碼

    C語言 文件操作解析詳解及實例代碼

    這篇文章主要介紹了C語言 文件操作解析詳解及實例代碼的相關資料,需要的朋友可以參考下
    2016-11-11
  • 詳解C++編程中的析構函數(shù)

    詳解C++編程中的析構函數(shù)

    這篇文章主要介紹了C++編程中的析構函數(shù),是C++入門學習中的基礎知識,需要的朋友可以參考下
    2015-09-09
  • C++ LeetCode1812判斷國際象棋棋盤格子顏色

    C++ LeetCode1812判斷國際象棋棋盤格子顏色

    這篇文章主要為大家介紹了C++ LeetCode1812判斷國際象棋棋盤格子顏色, 有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 詳解C++中的萬能頭文件

    詳解C++中的萬能頭文件

    C++萬能頭文件它是一個包含了每一個標準庫的頭文件,接下來通過本文給大家介紹C++中的萬能頭文件及優(yōu)缺點,需要的朋友可以參考下
    2023-02-02

最新評論

磐石市| 尼木县| 潜山县| 安多县| 广南县| 宜宾县| 美姑县| 安多县| 巴彦县| 弥渡县| 冷水江市| 民丰县| 临城县| 白玉县| 宝坻区| 和政县| 海宁市| 双流县| 佛学| 荆州市| 吴旗县| 定西市| 灵寿县| 阳春市| 若尔盖县| 东莞市| 通河县| 石楼县| 阜新市| 陵川县| 乐亭县| 千阳县| 荥经县| 陆川县| 高州市| 旬阳县| 林西县| 黎平县| 房产| 错那县| 富蕴县|