外观模式提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用。
假设某业务需要执行A、B、C三个步骤
步骤A
/**
* @description
* @since 2020-09-30 14:07
*/
public class StepA {
public void a(){
System.out.println("first");
}
}
步骤B
/**
* @description 步骤B
* @since 2020-09-30 14:07
*/
public class StepB {
public void b() {
System.out.println("second");
}
}
步骤C
/**
* @description 步骤C
* @since 2020-09-30 14:07
*/
public class StepC {
public void c() {
System.out.println("third");
}
}
外观模式
/**
* @description 外观模式对三个步骤进行统一调用
* @since 2020-09-30 14:20
*/
public class FacadeStep {
public void stepFacade() {
StepA stepA = new StepA();
StepB stepB = new StepB();
StepC stepC = new StepC();
stepA.a();
stepB.b();
stepC.c();
}
}
外观模式测试
/**
* @description 测试
* @since 2020-09-30 14:21
*/
public class TestFacade {
public static void main(String[] args) {
// 正常调用
StepA stepA = new StepA();
StepB stepB = new StepB();
StepC stepC = new StepC();
stepA.a();
stepB.b();
stepC.c();
// 使用外观模式调用
FacadeStep facadeStep = new FacadeStep();
facadeStep.stepFacade();
}
}
调用结果

调用结果