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;
    }
  • 相关阅读:
    软件测试:等价类划分——应用
    软件测试———白盒测试、黑盒测试与灰盒测试
    对软件项目管理的感想
    用maven进行项目管理
    my git ~
    ios支付宝的集成
    三个文本框的验证
    ios测试工具研究(1)-----------XCTest 单元测试
    等价类划分的思考
    git相关
  • 原文地址:https://www.cnblogs.com/csnd/p/12061918.html
Copyright © 2011-2022 走看看