我项目中使用的Facade模式
来源:互联网 发布:国产高仿手办淘宝店铺 编辑:程序博客网 时间:2024/04/29 14:26
Facade模式,是希望简化原有系统的使用方式,来定义自己的接口。按我的理解是,如果符合以下条件的一个或者多个,就应该使用这个模式:
1.如果一个项目需要借助现有代码,而项目组的大多数成员都不了解代码提供的接口
2.系统非常复杂,从零开始学习的时间的机会成本很高。
3.只需要使用代码的一部分功能。
4.原有系统提供的接口设计相当糟糕。
这样做的原因是,让了解系统的项目组成员利用Facade模式重新提供一个比原有设计更易于理解的接口集,可以让其他成员省去重新学习的时间,并可以专注于对有用功能使用的理解,并可以让使用者只与Facade对象交互,封装了复杂性。
我在做一个Direct3D实验用游戏引擎的时候,就深刻的体会到了这点,我在设计游戏引擎时,将引擎分为声音,渲染,工具等多个模块,由将百余个类构成,为了让本科生能够方便使用,完成老师布置的毕业答辩演示,我设计了一个GameFacade类用于提供一些可能使用到的功能,如模型载入,模型挂接到场景树,播放声音等,这样,使用者就可以不需要去学习底层的百余个类,简单的学习我提供的接口就可以了。
Enjoy!!
- 我项目中使用的Facade模式
- 我的设计模式-外观(Facade)
- 我看懂的设计模式 Facade,外观模式/门面模式
- 项目实践之Facade模式
- Tomcat8.x 《设计模式》Facade设计模式的使用->getServletContext()
- 外观模式-facade实现interface的方式(简单工厂+facade组合使用)
- 在项目中xmlhttp,我的使用
- 我所理解的设计模式(C++实现)——外观模式(Facade Pattern)
- 我所理解的设计模式(C++实现)——外观模式(Facade Pattern)
- 项目中使用到的设计模式
- Adapter模式与Facade模式的比较
- Facade 模式和Adapter 模式的比较
- 学会的模式-设计模式之Facade
- Facade模式
- Facade模式
- Facade模式
- Facade模式
- Facade模式
- C++类的静态成员函数在多线程的工作机制以及运行过程中强制结束线程实验
- 最近的思考!
- 【20100209】onblur 和onfocus问题
- C++子结构间接自杀实验
- Android Drawable绘图
- 我项目中使用的Facade模式
- Android 学习笔记 (3)界面布局
- 类 与 对 象
- 中毒了,双击或右击打开我的电脑都出现打开方式
- 指针的一道题
- 为dojo普及做贡献 -A-- Dojo Tree[新版本号 1.x]
- 项目中常遇到的Oracle问题
- PHP数据类型的转换
- google封锁了部分搜索结果