外觀(門(mén)面)模式(Facade Pattern)

外觀模式提供了一個(gè)統(tǒng)一的接口,用來(lái)訪(fǎng)問(wèn)子系統(tǒng)中的一群接口,外觀定義了一個(gè)高層接口,讓子系統(tǒng)更容易使用。

假設(shè)某業(yè)務(wù)需要執(zhí)行A、B、C三個(gè)步驟

步驟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 外觀模式對(duì)三個(gè)步驟進(jìn)行統(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();
    }
}
外觀模式測(cè)試
/**
 * @description 測(cè)試
 * @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é)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容