外观模式:提供了一个统一的接口,用来访问子系统中的一群接口或者一个很大的接口,总之外观模式的目的是简化并统一其他的接口。与适配器不同的是,它不会修改其他的接口,只是将客户从一个复杂的子系统中解耦出来。
public class Airconditioner { int tempture; public void turnOn() { System.out.println("开空调"); } public void turnOff() { System.out.println("关掉空调"); } public void setTempture(int tempture) { this.tempture = tempture; } }
public class Fridge { int level ; public void turnOn() { System.out.println("冰箱插上电源"); } public void turnOff() { System.out.println("关掉冰箱"); } public void setLevel(int level) { this.level = level; } public int getLevel() { return level; } }
public class TV { public void turnOn() { System.out.println("打开电视"); } public void turnOff() { System.out.println("关掉电视"); } public void showCCTV() { System.out.println("收看央视新闻"); } }
public class HomeElectronicsController { TV tv; Fridge fridge; Airconditioner airconfitioner; public HomeElectronicsController(TV tv, Fridge fridge, Airconditioner airconditioner) { this.tv = tv; this.fridge = fridge; this.airconfitioner = airconditioner; } public void turnOnAll() { tv.turnOn(); tv.showCCTV(); fridge.setLevel(3); airconfitioner.setTempture(28); } public void turnOffAll() { tv.turnOff(); fridge.turnOff(); airconfitioner.turnOff(); } }
当用户需要打开所有家电的时候,只需要调用HomeElectronicsController的turnOn()方法,而无需调用各个家电,但是外观模式并没有改变各个家电的接口,只是简化了用户的访问。如果用户需要访问子系统中的各个组件,还是可以直接访问的。这是外观模式和适配器模式最大的区别。
相关推荐
1.1 《Head First设计模式》阅读笔记.第一章 1.2 《Head First设计模式》阅读笔记.第二章 1.3 《Head First设计模式》阅读笔记.第三章 1.4 《Head First设计模式》阅读笔记.第四章 1.5 《Head First设计模式》...
笔记_HeadFirst设计模式
HeadFirst设计模式学习笔记比较全面详细地讲解了13个设计模式,有利于大家更好的学习HeadFirst设计模式,希望亲们会喜欢~~~
Head First 设计模式学习笔记。更多内容请参见文章内容。
HeadFirst设计模式 读书 笔记
HeadFirst 设计模式学习笔记3--装饰模式 Demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5582561.aspx
HeadFirst 设计模式学习笔记2--观察者模式 demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5581769.aspx
http://blog.csdn.net/laszloyu/archive/2010/05/11/5579765.aspx 示例代码
Head First设计模式读书笔记-DesignPatterns
Head.First 设计模式学习笔记.pdf Head.First 设计模式学习笔记.pdf
NULL 博文链接:https://never-say-never.iteye.com/blog/851923
NULL 博文链接:https://zhangfy068.iteye.com/blog/1706132
著名的《Head First Design ...由于书本过长,整理出笔记帮助回想起设计模式。文件是docx格式,只能由OFFICE Word 2007之后的版本打开,内附Visio类图文件。本文由个人整理摘录,部分内容来自书本,仅供学习使用。
NULL 博文链接:https://chxiaowu.iteye.com/blog/1276845
趣味的移动开发讲解讲解,类似个人笔记,非常容易懂的,有好多勾画图
headfirst 设计模式读书笔记 书很好,浅显易懂,例子生动,适合初学者
设计模式Head First学习笔记,以及使用java编写的设计模式源码,Java原生sdk实现23种设计模式
java原始中的设计模式 Gof设计模式 一个Android应用程序,该应用程序演示了以下来源的GoF设计模式的源代码: E.Freeman,E.Freeman,K.Sierra,B.Bates的书:copyright:O'Reilly 2004 布莱恩·汉森(Bryan Hansen),...