首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

外觀模式 C++ 實現詳解

     編輯:C++ 入門

定義

為子系統中的一組介面提供一個一致的界面,外觀模式定義了一個高層介面,使得子系統更容易使用。

適用場景

  1. 為複雜子系統提供簡單介面。
  2. 客戶程序與抽象類實現部分存在較大依賴性。
  3. 構建層次結構的子系統時,定義各層入口點。

結構圖

外觀模式結構

核心角色

  • Facade:外觀類,委派客戶請求給相應子系統對象。
  • Subsystem Classes:子系統類,實現具體功能,不知 Facade 存在。

代碼骨架

class ClassA { public: void doA() { ... } };
class ClassB { public: void doB() { ... } };
class ClassC { public: void doC() { ... } };

class Facade {
    ClassA a; ClassB b; ClassC c;
public:
    void operation1() { a.doA(); b.doB(); }
    void operation2() { c.doC(); }
};

// 客戶端
Facade f; f.operation1(); f.operation2();

外觀模式降低了客戶端與子系統的耦合,簡化了調用介面,是結構型模式中極具實用價值的一種。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved