Head First设计模式笔记(外观模式)
来源:互联网 发布:阿里云能不能翻墙 编辑:程序博客网 时间:2024/06/05 19:35
外观模式:提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用
外观模式我自我感觉很简单,它的核心应该是封装细节,让接口更加简单,用户不必关系具体的细节,在下面展现的代码中因为简单,我就没展现全面
1.外观模式的核心类
public class HomeTheaterFacade { Amplifier amp; Tuner tuner; DvdPlayer dvd; CdPlayer cd; Projector projector; ThreaterLights lights; Screen screen; PopcornPopper popper; public HomeTheaterFacade(Amplifier amp,Tuner tuner,DvdPlayer dvd,CdPlayer cd,Projector projector,Screen screen ,ThreaterLights lights,PopcornPopper popper){ this.amp = amp; this.tuner = tuner; this.dvd = dvd; this.cd = cd; this.projector = projector; this.lights = lights; this.screen = screen; this.popper = popper; } public void watchMovie(String movie){ System.out.println("get ready to watch a movie...."); popper.on(); popper.pop(); lights.dim(); screen.down(); projector.wideScreenMode(); amp.on(); amp.setDvd(dvd); amp.setSurroundSound(); amp.setVolume(5); dvd.on(); dvd.play(movie); } public void endMovie(){ System.out.println("shutting movie theater down..."); popper.off(); lights.on(); screen.up(); projector.off(); amp.off(); dvd.stop(); dvd.eject(); dvd.off(); }}
2.测试类
public class HomeTheaterTestDrive { public static void main(String[] args){ //实例化组件 HomeTheaterFacade homeThreater = new HomeTheaterFacade(amp,tuner,dvd,cd,projector,screen,lights,popper); homeThreater.watchMovie("大话西游"); homeThreater.endMovie(); }}
阅读全文
0 0
- Head First设计模式学习笔记-------(8)外观模式
- Head First设计模式笔记(外观模式)
- 《Head first设计模式》学习笔记 - 外观模式
- 《Head first设计模式》学习笔记 – 外观模式
- Head First设计模式-外观模式
- 《Head First 设计模式》外观模式
- 《Head First 设计模式》阅读笔记(七)——适配器和外观模式
- 《Head.First设计模式》的学习笔记(9)--外观模式
- Head First 设计模式之适配器模式与外观模式
- First Head-设计模式:适配器模式和外观模式
- 《head first 设计模式》笔记
- Head First 设计模式 笔记
- Head First设计模式笔记
- Head First 设计模式【笔记】
- 《Head First 设计模式》笔记
- 【笔记】Head First 设计模式
- 《Head First 设计模式》学习笔记——适配器模式 + 外观模式
- 调侃《Head First设计模式》之外观模式
- 准备进入Linux 世界
- vs2017在排除一个文件夹下所有文件过程中很慢导致假死问题的解决
- JVM类加载机制
- 安卓活动之生命周期和模式的简单记录
- JETTY与TOMCAT
- Head First设计模式笔记(外观模式)
- leetcode-27
- Ubuntu16.04 ext4格式硬盘挂载普通用户权限控制
- 安卓开发技术之持久化技术
- android 切换栏目 SmartTabLayout的使用
- PAT (Advanced Level) Practise 1070 Mooncake (25)
- 彻底弄懂Javascript闭包
- Java中Math类的常用方法
- notifyItemChanged(int position) 引起的返回时RecyclerView页面不自然的跳动