餐馆那些事之:Facade Pattern
来源:互联网 发布:知乎粉丝 编辑:程序博客网 时间:2024/05/19 00:54
1. 概述
Facade Pattern是一种结构性模式。对于一个大系统里面有多个子系统,为了避免client和各个子系统进行复杂的交互,对子系统进行封装,对外提供一个统一的接口。使子系统的使用更加简单。
类图:
subsystem_x:具体的工作子系统
Facade:子系统封装
subsystem_x:具体的工作子系统
Facade:子系统封装
2.实例
客人到了餐馆点菜,餐馆提供服务的过程由厨师做菜、服务员上菜两部分组成,将这两个部分的功能进行封装,对客人提供给一个统一的接口。
代码:
输出:
来个水煮鱼
厨师做菜
翠花上菜
Facade Pattern是一种结构性模式。对于一个大系统里面有多个子系统,为了避免client和各个子系统进行复杂的交互,对子系统进行封装,对外提供一个统一的接口。使子系统的使用更加简单。
类图:
subsystem_x:具体的工作子系统
Facade:子系统封装
Facade:子系统封装
2.实例
客人到了餐馆点菜,餐馆提供服务的过程由厨师做菜、服务员上菜两部分组成,将这两个部分的功能进行封装,对客人提供给一个统一的接口。
代码:
#include <iostream>#include <typeinfo>using namespace std;//subsystem_1class Cook{public:void make_food(){cout << "厨师做菜" << endl;}};//subsystem_2class Waiter{public:void provide_service(){cout << "翠花上菜" << endl;}};//facadeclass Facade{public:void make_dinner(){_cook.make_food();_waiter.provide_service();}private:Cook _cook;Waiter _waiter;};//clientint main() {Facade facade;cout << "来个水煮鱼" << endl;facade.make_dinner();return 0;}
输出:
来个水煮鱼
厨师做菜
翠花上菜
- 餐馆那些事之:Facade Pattern
- 餐馆那些事之:Singleton Pattern
- 餐馆那些事之:Observer Pattern
- 餐馆那些事之:Composit Pattern
- 餐馆那些事之:Command Pattern
- 餐馆那些事之:Proxy Pattern
- 餐馆那些事之:Adapter Pattern
- 餐馆那些事之:Visitor Pattern
- 餐馆那些事之:State Pattern
- 餐馆那些事之:Mediator Pattern
- 餐馆那些事之:Decorator Pattern
- 餐馆那些事之:Flyweight Pattern
- 餐馆那些事之:Mediator Pattern
- 餐馆那些事之:Visitor Pattern
- 餐馆那些事之:Command Pattern
- 餐馆那些事之:接口实现分离
- 餐馆那些事之:Null Object
- Facade Pattern
- 通过进程ID获得该进程主窗口的句柄
- VFP用CreateObject()和GetObject()创建Excel对象
- 用Django写博客(四)编写Rss订阅
- WebRoot---Web-Info下面的文件加载方式
- 常用的RBG编码表
- 餐馆那些事之:Facade Pattern
- D语言unit test
- C++学习篇(一)
- STL中map用法详解
- JAVA中String与StringBuffer的区别
- Windows Phone7开发必备资源汇总
- Java中接口的感悟
- Windows Phone7开发必备资源汇总
- Windows Phone学习系列教程