外观模式(facade):
解决类与类之间的依赖关系,将它们的关系放在一个Facade类中,降低了类与类之间的耦合度,该模式中没有涉及到接口。
示例:
电脑用户(外观模式测试类)User.java
/** * 电脑用户(外观模式测试类) * * @author Kevin * @date 2016-3-15 */public class User { public static void main(String[] args) { Computer computer = new Computer(); /* 开启电脑 */ computer.startup(); /* 关闭电脑 */ computer.shutdown(); }}
电脑类Computer.java
/** * 电脑 * * @author Kevin * @date 2016-3-15 */public class Computer { /* 电脑CPU */ private CPU cpu; /* 电脑内存 */ private Memory memory; /* 电脑硬盘 */ private Disk disk; public Computer() { cpu = new CPU(); memory = new Memory(); disk = new Disk(); } /* 启动 */ public void startup() { System.out.println("startup computer"); cpu.startup(); memory.startup(); disk.startup(); System.out.println("startup computer finished"); } /* 关闭 */ public void shutdown() { System.out.println("shutdown computer"); cpu.shutdown(); memory.shutdown(); disk.shutdown(); System.out.println("shutdown computer finished"); }}
电脑CPU类CPU.java
/** * 电脑CPU * * @author Kevin * @date 2016-3-15 */public class CPU { /* 启动 */ public void startup() { System.out.println("cpu startup"); } /* 关闭 */ public void shutdown() { System.out.println("cpu shutdown"); }}
电脑内存类Memory.java
/** * 电脑内存 * * @author Kevin * @date 2016-3-15 */public class Memory { /* 启动 */ public void startup() { System.out.println("Memory startup"); } /* 关闭 */ public void shutdown() { System.out.println("Memory shutdown"); }}
电脑硬盘类Disk.java
/** * 电脑硬盘 * * @author Kevin * @date 2016-3-15 */public class Disk { /* 启动 */ public void startup() { System.out.println("Disk startup"); } /* 关闭 */ public void shutdown() { System.out.println("Disk shutdown"); }}