一、什么是外观模式?
外观模式(Facade)定义:为子系统中的一组接口提供一个一致的界面,些模式定义了一个高层接口。这个接口使得这一子系统更加容易使用。
类型:结构型模式
顺口溜:适装桥组享代外
二、外观模式UML
三、JAVA代码实现
package com.amosli.dp.structural.facade;
public class Facade {
SubsystemOne one;
SubsystemTwo two;
SubsystemThree three;
public Facade() {
one = new SubsystemOne();
two = new SubsystemTwo();
three = new SubsystemThree();
}
public void methodA() {
System.out.println("group A:");
one.operation1();
two.operation2();
}
public void methodB() {
System.out.println("group B:");
three.operation3();
}
}
package com.amosli.dp.structural.facade;
public class SubsystemOne {
public void operation1(){
System.out.println("deal 1 part...");
}
}
package com.amosli.dp.structural.facade;
public class SubsystemTwo {
public void operation2(){
System.out.println("deal 2 part...");
}
}
package com.amosli.dp.structural.facade;
public class SubsystemThree {
public void operation3(){
System.out.println("deal 3 part...");
}
}
package com.amosli.dp.structural.facade;
public class Client {
public static void main(String[] args) {
Facade facade = new Facade();
facade.methodA();
facade.methodB();
}
}
四、使用场景
在以下情况下可以考虑使用外观模式: