java-设计模式(结构型)-【外观模式】
1.外观模式(Facade)
最少知道原则:一个类应该尽可能少的与其他类发生相互作用,使类相对独立,系统功能模块相对独立。
定义:减少类与类之间的依赖关系,就像Spring一样,可以将类和类之间的关系配置到配置文件中。
而外观模式则是将它们类之间的关系放入一个Facade类中,降低类与类之间的耦合度,该模式没有涉及接口。
通常将一系列的流程的步骤封装到一个类中的一个方法中实现。
2.图解
public class Computer { //各个部件(类) private CPU cpu=new CPU(); private Memory m=new Memory(); private Disk d=new Disk(); public static void main(String[] args) { // TODO Auto-generated method stub Computer cp=new Computer(); cp.start(); cp.shutdown(); } //电脑启动 public void start() { cpu.start(); m.start(); d.start(); System.out.println("电脑启动完毕"); } //电脑关闭 public void shutdown () { cpu.shutdown(); m.shutdown(); d.shutdown(); System.out.println("电脑完成关闭"); } } class CPU { public void start() { System.out.println("cpu启动..."); } public void shutdown () { System.out.println("cpu关闭..."); } } class Memory { public void start() { System.out.println("内存启动..."); } public void shutdown () { System.out.println("内存关闭..."); } } class Disk { public void start() { System.out.println("硬盘启动..."); } public void shutdown () { System.out.println("硬盘关闭..."); } }
运行结果:
cpu启动... 内存启动... 硬盘启动... 电脑启动完毕 cpu关闭... 内存关闭... 硬盘关闭...