zoukankan      html  css  js  c++  java
  • 设计模式复习-外观模式

    为了系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

    #pragma once
    #include "stdafx.h"
    #include<string>
    #include<iostream>
    #include<windows.h>
    using namespace std;
    //外观模式(Facade)
    
    class SubSystemOne {
    public:
    	VOID SubSystemA() {
    		cout << "SubSystem method A" << endl;
    	}
    };
    
    class SubSystemTwo {
    public:
    	VOID SubSystemB() {
    		cout << "SubSystem method B" << endl;
    	}
    };
    
    class SubSystemThree {
    public:
    	VOID SubSystemC() {
    		cout << "SubSystem method C" << endl;
    	}
    };
    
    class Facade {
    private:
    	SubSystemOne * mpSubSystemOne = NULL;
    	SubSystemTwo * mpSubSystemTwo = NULL;
    	SubSystemThree * mpSubSystemThree = NULL;
    
    public:
    	Facade() {
    		mpSubSystemOne = new SubSystemOne();
    		mpSubSystemTwo = new SubSystemTwo();
    		mpSubSystemThree = new SubSystemThree();
    	}
    	VOID FacadeShowA() {
    		mpSubSystemOne->SubSystemA();
    		mpSubSystemThree->SubSystemC();
    	}
    	VOID FacadeShowB() {
    		mpSubSystemTwo->SubSystemB();
    		mpSubSystemThree->SubSystemC();
    	}
    	~Facade() {
    		delete mpSubSystemOne;
    		delete mpSubSystemTwo;
    		delete mpSubSystemThree;
    	}
    };
    
    
    
    int main()
    {
    	Facade *pFacade = new Facade();
    	pFacade->FacadeShowA();
    	pFacade->FacadeShowB();
    	delete pFacade;
    	getchar();
    	return 0;
    }
  • 相关阅读:
    数据清洗
    JAVA多线程三种实现方式
    QT-4.8.6 编译配置过程
    qt 编译问题总结
    [转载]tslib1.4与Qt4.8.6的交叉编译与移植
    STC12C5A60S2 @ 22.0184Mhz 精确延时
    STC12C5A60S2 双串口通信
    C# Bitmap 复制
    TextMate2 最新版下载及源码编译过程
    mac系统 PHP Nginx环境变量修改
  • 原文地址:https://www.cnblogs.com/csnd/p/12061918.html
Copyright © 2011-2022 走看看