POSA2:Wrapper Facade模式
来源:互联网 发布:军中妖姬汤灿 知乎 编辑:程序博客网 时间:2024/04/27 22:50
意图
用更加简洁、健壮、可移植、可维护和内聚的面向对象接口,封装已存在的非面向对象API的函数和相关数据。
背景
使用已存在的非面向对象的API提供的服务或机制,开发可维护和进化的应用。
问题
- 简洁的代码比复杂的代码更加健壮,因为它易于理解和维护
- 可移植的软件可以容易的在不同的操作系统、编译器和硬件平台之间移植
- 提高软件可维护性,会降低开发生命周期的开销
- 高内聚的组件,易于学习、维护和增强
解决方案
结构:
行为:
实现:
- 识别已有的过程式API中内聚的抽象和关系
- 把内聚的函数放入包装外观类中(Wrapper Facade Class)
- 创建内聚类
- 把多个独立的函数放入其中
- 自动创建和销毁,可以考虑使用构造函数和析构函数
- 选择间接的等级
- 检查依赖与特定平台变化的代码
- 考虑以可控地访问实现细节(Escape-Hatch)
- 开发一套错误处理机制
- 定义相关的帮助类(可选)
已知应用
- MFC
- ACE
效果
优势:
- 内聚的高层面向对象接口
- 易于移植和维护
- 模块化、可重用、可配置
不足:
- 功能缩水(Escape-Hatch可以解决)
- 性能降低(类函数内联可以解决)
- 编程语言和编译器的限制
2012/04/11 00:05 于上海
- POSA2:Wrapper Facade模式
- Review of Wrapper Facade in POSA2
- ACE Socket Wrapper Facade
- Wrapper facade pattern
- 设计模式C++实现:包装器外观模式(Wrapper Facade)
- 包装外观(Wrapper Facade):用于在类中封装函数的结构型模式
- 包装外观(Wrapper Facade):用于在类中封装函数的结构型模式
- 包装外观(Wrapper Facade):用于在类中封装函数的结构型模式
- Facade模式
- Facade模式
- Facade模式
- Facade模式
- Facade模式
- Facade模式
- -facade模式
- Facade 模式
- FACADE 模式
- Facade模式
- 总变分去噪工具箱
- c++ 虚函数的实现机制:笔记
- 不用鼠标玩电脑
- 网卡指示灯含义及故障分析
- 游戏人生-dota杂想
- POSA2:Wrapper Facade模式
- Udev学习总结
- C和C++混合编译
- 辅导“职称计算机应用能力考试”中的一次收获
- PHP 观察者模式 PHP SplSubject SplObserver 接口实现
- 关于内存泄露
- xcode4.2下创建及使用静态库
- 好图像代码处理个人网站
- 浅谈C中的malloc和free