设计模式读书笔记:Facade(外观)

来源:互联网 发布:python 推荐系统算法 编辑:程序博客网 时间:2024/05/16 15:52

意图:

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

结构图:来自 《23种设计模式 - 郗晓勇》


实现:https://github.com/panshiqu/patterns/tree/master/Facade

Facade

#include "Input.h"#include "Output.h"namespace NS_FACADE {class Facade {public:Facade() {}virtual ~Facade() {}void inputAndOutput(void){Input in;Output out;out.outputStr(in.inputStr());}};} /* namespace NS_FACADE */
Input

#include <iostream>namespace NS_FACADE {class Input {public:Input() {}virtual ~Input() {}std::string inputStr(void){std::string str;std::cin >> str;return str;}};} /* namespace NS_FACADE */
Output

#include <iostream>namespace NS_FACADE {class Output {public:Output() {}virtual ~Output() {}void outputStr(std::string str){std::cout << str << std::endl;}};} /* namespace NS_FACADE */
main

#include "Facade/Facade.h"using namespace NS_FACADE;int main(void){Facade facade;facade.inputAndOutput();}
附加:

0 0