外观模式C++实现
来源:互联网 发布:sql server 基础语法 编辑:程序博客网 时间:2024/05/17 07:18
外观模式其实定义了一个高层接口,该接口为子系统中的一组接口提供一个一致的界面,使得这一子系统更加容易使用。(不关心底层函数的实现)
比如,一个下班回家的动作:打卡,乘坐交通工具,拿钥匙开门。
我们可以把这个下班回家封装成一个高层接口,对外隐藏下班回家过程中的子动作(打开,乘坐工具,开门)。
又比如,模块化编程中,对客户提供一个初始化接口Init(),然后该Init()接口里去做N个模块的初始化。对用户来说,Init就是一个高层接口,只要调用这个接口就可以初始化N的模块。
#include <iostream>class SubWork1{public:void start_work(){ std::cout<< "SubWork1 start work" <<std::endl;}};class SubWork2{public:void start_work(){ std::cout<< "SubWork2 start work" <<std::endl;}};class SubWork3{public:void start_work(){ std::cout<< "SubWork3 start work" <<std::endl;}};class Work{public:void start_work(){ std::cout<< "start work" <<std::endl; SubWork1 work1; work1.start_work(); SubWork2 work2; work2.start_work(); SubWork3 work3; work3.start_work();}};int main(){Work work;work.start_work();return 0;}
外观模式的优点
1.为一个复杂子系统提供一个简单接口。
2.提高子系统的独立性。
3.松散耦合
外观模式松散了客户端与子系统的耦合关系,让子系统内部的模块能更容易扩展和维护,
4.易用
外观模式让子系统更加易用,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟外观交互就可以了,相当于外观类为外部客户端使用子系统提供了一站式服务。
5.更好的划分访问层次
更好的划分访问的层次。有些方法是对系统外的,有些方法是系统内部使用的。把需要暴露给外部的功能集中到外观中,这样既方便客户使用,也很好的隐藏了内部的细节。
阅读全文
0 0
- 【C++】Chapter8:外观模式
- Objective C--外观模式
- Objective C 外观模式
- Objective C--外观模式
- 外观模式c++实现
- 外观模式 JAVA实现
- 外观模式lua实现
- 外观模式----C++实现
- 外观模式 C++实现
- 外观模式C++实现
- java 外观模式实现
- 外观模式C++实现
- 外观模式(java实现)
- 外观模式c++代码实现
- 外观模式之C++实现
- java 实现外观(Facade)模式
- 外观模式的C#实现
- 外观模式以及FishiGUI子系统外观模式的实现
- H5/JS入门
- sql 某字段各种值按月份统计
- OUTLINE转换为SPM
- python输入输出
- java编写多线程
- 外观模式C++实现
- 12_ARM汇编自学笔记指令系统之加载存储指令
- C++新课与C复习
- 【ML--02】第二课 线性回归
- Android-手机QQ浏览器耗电测试工具及方法介绍
- MyEclipse快捷键大全
- X2Go Client下载与使用(新手向)
- 统计每月订单数量并生成折线图
- SQL获取AWR信息