简介
在调用多个对象中的方法的时候,我们可以将初始化对象以及具体调用的方法抽取成一个公共的外观类,只需要去调用外观类的方法,由外观类去帮助我们初始化对象以及调用具体的方法。
具体对象
public class CPU {
public void start(){
System.out.println("CPU start......");
}
}
public class Disk {
public void start(){
System.out.println("Disk start......");
}
}
public class Memory {
public void start(){
System.out.println("Memory start......");
}
}
外观类
public class Computer {
private CPU cpu;
private Disk disk;
private Memory memory;
public Computer(){
cpu = new CPU();
disk = new Disk();
memory = new Memory();
}
public void start(){
cpu.start();
disk.start();
memory.start();
}
}
使用外观类来初始化对象以及调用对象中的方法,而我们只需要去调用外观类即可。
总结
使用外观类减少了代码之间的耦合,并使代码可以重复使用,如果此时需要调用一个新的对象方法时,那就需要修改外观类中的代码,这并不符合开闭原则,外观模式在我们编写代码的时候经常用到,比如封装好的工具类,只是我们在编写代码的时候并不知道这就是外观模式。