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;
    }
  • 相关阅读:
    函数式编程一
    学习设计模式笔记
    看萧井陌直播写代码有感
    自定义事件
    template模板函数
    一个自己写的table插件,用到了一些ES6的语法
    requireJs简介
    underscore
    angular4.0
    New Machine Learning Server for Deep Learning in Nuke(翻译)
  • 原文地址:https://www.cnblogs.com/csnd/p/12061918.html
Copyright © 2011-2022 走看看