【设计模式学习笔记】Facade
来源:互联网 发布:mysql官方文档中文版 编辑:程序博客网 时间:2024/05/18 17:03
通常Facade有译作“外观”和“门面”的两种。个人认为译作“门面”虽然显得不是那么“雅”,却比较形象。
Facade模式的核心思想是将接口集中地发布,并隐藏不必要的接口,以达到更好的封装效果。它体现的设计原则中的“高内聚”
我们可以设想以下情景:
一个高度自动化生产的工厂,厂房中分布着各种不同的生产设备。但作为工厂的负责人,我不希望工人们可以随意地操作这些设备,因为我的工人们并不是工程师,对这些设备并不很了解,而我又付不起专业人员高昂的薪水。我应该如何解决这个问题呢?
我会建一间中控室,通过复杂的布线过程将所有设备连接到中控室中,同时封闭所有设备的开关,使得这些设备只能通过中控室的操作面板进行控制。而中控室的操作面板是定制好的,通过面板上的操作不会对机器造成任何损伤,也不会破坏生产的流程,生产工作会保持稳定有序地运行。
这个中控室就是所谓的“门面”。
在我们进行面向对象程序设计的过程中,一个功能模块可能由很多类组成,它们之间协同工作,互相依赖,通过相当多的复杂逻辑进行组合,实现了一个功能。在这个过程中是没有必要让外界介入的——来自外部的干扰不仅对过程没有任何好处,还可能造成错误。
Facade很简单,也很实用。不过为了更好的实现,还是有些问题需要注意:
1. internal关键字的使用(C#)
2. 多层Facade的嵌套
3. 如何在接口简化和接口调用的灵活性之间作权衡。
- 【设计模式学习笔记】Facade
- 设计模式学习笔记--门面(Facade)模式
- [设计模式学习笔记]FACADE外观模式
- 《设计模式》学习笔记--外观Facade
- 设计模式学习笔记十一(Facade外观模式)
- 设计模式学习笔记(一)--Facade外观模式
- 设计模式学习笔记(一)--Facade外观模式
- java 设计模式学习笔记七 facade外观模式
- 【设计模式】学习笔记10:外观模式(Facade)
- Facade模式——设计模式学习笔记
- 设计模式学习笔记——外观(Facade)模式
- 设计模式学习笔记十三:外观模式(Facade Pattern)
- 设计模式笔记(6 FACADE)
- 设计模式笔记(6 FACADE)
- 设计模式笔记(6 FACADE)
- 设计模式笔记(6 FACADE)
- 设计模式学习笔记(十一)——Facade外观
- 设计模式学习10 Facade
- 在BlackBerry上使用OpenGL绘图(汇总)
- 分析Android 根文件系统启动过程(init守护进程分析)
- 数据库迁移之pipe+imp/exp
- Android的启动模式(android:launchMode)
- Java中的同步和异步区别
- 【设计模式学习笔记】Facade
- DTD规范 XLM文档笔记
- 使用远程桌面Remote desktop访问Azure虚拟机
- mysql将时间戳转成常用可读时间格式
- 主从节点ssh
- 由奖学金引发的最近总结
- 大连医疗保险药物目录
- 国嵌实验:Uart_poll
- Wordpress 快速搭建你的博客站点