外觀模式提供了一個統(tǒng)一的接口嘶居,用來訪問子系統(tǒng)中的一群接口峻黍,外觀定義了一個高層接口,讓子系統(tǒng)更容易使用晃琳。
假設(shè)某業(yè)務(wù)需要執(zhí)行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 外觀模式對三個步驟進行統(tǒng)一調(diào)用
* @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) {
// 正常調(diào)用
StepA stepA = new StepA();
StepB stepB = new StepB();
StepC stepC = new StepC();
stepA.a();
stepB.b();
stepC.c();
// 使用外觀模式調(diào)用
FacadeStep facadeStep = new FacadeStep();
facadeStep.stepFacade();
}
}
調(diào)用結(jié)果
調(diào)用結(jié)果