标签:style blog http color os 使用 ar strong 2014
外观模式可以用来简化接口,之所以称其为“外观”,是因为一般外观是用来展现给用户的,所以一般外观都做得比较简单时尚,用来隐藏后面复杂的逻辑。
1 /** 2 * 声音接口 3 * @author Apache_xiaochao 4 * 5 */ 6 public interface Voice { 7 8 /** 9 * 开启声音 10 */ 11 void on(); 12 /** 13 * 关闭声音 14 */ 15 void off(); 16 17 }
1 /** 2 * 屏幕接口 3 * @author Apache_xiaochao 4 * 5 */ 6 public interface Screen { 7 8 /** 9 * 调亮屏幕 10 */ 11 void dodge(); 12 /** 13 * 调暗屏幕 14 */ 15 void dimming(); 16 17 }
/** * 电脑声音类 * @author Apache_xiaochao * */ public class PCVoice implements Voice { @Override public void on() { System.out.println("开启声音!"); } @Override public void off() { System.out.println("关闭声音!"); } }
/** * 电脑屏幕类 * @author Apache_xiaochao * */ public class PCScreen implements Screen { @Override public void dodge() { System.out.println("亮度增加!"); } @Override public void dimming() { System.out.println("亮度降低!"); } }
上面是一些基础类,下面是外观模式的主角:
1 /** 2 * 一键影音 3 * 4 * @author Apache_xiaochao 5 * 6 */ 7 public class OnekeyTheater { 8 9 private Voice voice; 10 private Screen screen; 11 12 public OnekeyTheater(Voice voice, Screen screen) { 13 super(); 14 this.voice = voice; 15 this.screen = screen; 16 } 17 18 /** 19 * 开启一键影音功能 20 */ 21 public void start() { 22 voice.on(); 23 screen.dodge(); 24 } 25 26 /** 27 * 关闭一键影音功能 28 */ 29 public void close() { 30 voice.off(); 31 screen.dimming(); 32 } 33 34 }
1 public class Driver { 2 3 public static void main(String[] args) { 4 Voice voice = new PCVoice(); 5 Screen screen = new PCScreen(); 6 OnekeyTheater onekeyTheater = new OnekeyTheater(voice, screen); 7 onekeyTheater.start(); //在这里可以进行一键操作,同时触发多个设备 8 onekeyTheater.close(); //在这里可以进行一键操作,同时关闭多个设备 9 } 10 11 }
标签:style blog http color os 使用 ar strong 2014
原文地址:http://www.cnblogs.com/xiaochao-cs-whu/p/3983203.html