门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得外部不需要感知内部各种子系统的细节,通过统一的门面对象进行交互。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| public class Fridge{ public void turnOff(){ } } public class Television{ public void turnOff(){ } } public class Computer{ public void turnOff(){ } }
public static void main(String[] args) { new Computer().turnOffComputer(); new Fridge().turnOffFridge(); new Television().turnOffTV(); }
public class ElectricBrake { private Computer computer = new Computer(); private Fridge fridge = new Fridge(); private Television television = new Television();
public void turnOffAll() { computer.turnOffComputer(); fridge.turnOffFridge(); television.turnOffTV(); } } public static void main(String[] args) { ElectricBrake brake = new ElectricBrake(); brake.turnOffAll(); }
|
优点
减少了系统之间的依赖关系,所有的依赖都是对门面对象的依赖,与子系统无关