门面模式说对象的结构模式。外部与一个子系统的通信必须通过一个系统的一个门面对象进行,这就是门面模式。门面模式也成为外观模式、正面模式。
这个模式在系统中经常被用到,也是一个比较简单的模式。
如下例子,用户只需要知道去开机就可以了,其不必知道开机的具体过程。
代码:
门面Computer.java
package Facade; //门面 public class Computer { private Power power = new Power(); private Bios bios = new Bios(); private OperatingSystem system = new OperatingSystem(); // 开机方法 public void StartUp() { power.start(); bios.start(); system.start(); } // 关机方法 public void ShutDown() { system.off(); bios.off(); power.off(); } }
//电源类Power.java
package Facade; //电源类 public class Power { public int start() { System.out.println("启动电源成功"); return 0; } public int off() { System.out.println("关闭电源成功"); return 0; } }
//主板类Bios.java
package Facade; // 主板类 public class Bios { public int start() { System.out.println("启动主板成功"); return 0; } public int off() { System.out.println("关闭主板成功"); return 0; } }
//操作系统类OperatingSystem.java
package Facade; //操作系统类 public class OperatingSystem { public int start() { System.out.println("启动操作系统成功"); return 0; } public int off() { System.out.println("关闭操作系统成功"); return 0; } }
//客户端测试代码Client.java
package Facade; public class Client { public static void main(String[] args) { Computer computer = new Computer(); computer.StartUp(); } }