Skip to content

外观模式

回到目录

简介

参考链接

外观模式是设计模式中比较常见的一种,该模式提供一个外观类,负责对外打交道的门户,它屏蔽了子系统内部特定的调用关系,简化接口的使用。

UML类图

代码示例

#include <iostream>
using namespace std;

// 子系统类
class SubSystemOne {
public:
    void MethodOne() {
        cout << "call subsystem method one" << endl;
    }
};

class SubSystemTwo {
public:
    void MethodTwo() {
        cout << "call MethodTwo" << endl;
    }
};

class SubSystemThree {
public:
    void MethodThree() {
        cout << "call MethodThree" << endl;
    }
};

class SubSystemFour {
public:
    void MethodFour() {
        cout << "call MethodFour" << endl;
    }
};

// 外观类
class CFacade {
public:
    void MethondA() {
        cout <<"CFacade::MethondA" << endl;
        SubSystemOne systemOne;

        systemOne.MethodOne();
    }

    void MethondB() {
        cout <<"CFacade::MethondB" << endl;

        SubSystemOne systemOne;
        SubSystemTwo systemTwo;
        SubSystemThree systemThree;

        systemOne.MethodOne();
        systemTwo.MethodTwo();
        systemThree.MethodThree();
    }
};

int main() {
    CFacade facade;
    facade.MethondA();
    facade.MethondB();
    return 0;
}