欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

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

作用

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

類視圖

實現(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í)有所幫助,也希望大家多多支持我們。

上一篇:C++設(shè)計模式之享元模式(Flyweight)

欄    目:C語言

下一篇:C++實現(xiàn)簡單貪吃蛇游戲

本文標(biāo)題:C++設(shè)計模式之外觀模式(Facade)

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/838.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有