您的位置:首页 > 其它

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

2015-07-10 16:36 549 查看
意图:

为子系统中的一组接口提供一个一致的界面,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();
}
附加:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: