Java23種設(shè)計(jì)模式之結(jié)構(gòu)型模式「外觀(guān)模式」

外觀(guān)模式 - Facade Pattern

  • 隱藏系統(tǒng)的復(fù)雜性,并向客戶(hù)端提供了一個(gè)客戶(hù)端可以訪(fǎng)問(wèn)系統(tǒng)的接口
  • 這種模式涉及到一個(gè)單一的類(lèi),該類(lèi)提供了客戶(hù)端請(qǐng)求的簡(jiǎn)化方法和對(duì)現(xiàn)有系統(tǒng)類(lèi)方法的委托調(diào)用
  • 意圖: 為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,外觀(guān)模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用
  • 優(yōu)點(diǎn): 1、減少系統(tǒng)相互依賴(lài)。 2、提高靈活性。 3、提高了安全性
  • 缺點(diǎn): 不符合開(kāi)閉原則,如果要改東西很麻煩,繼承重寫(xiě)都不合適

定義兩個(gè)業(yè)務(wù)方法

public class MethodA {
    public void createAProduct() {
        System.out.println("創(chuàng)建A項(xiàng)目業(yè)務(wù)邏輯");
    }
}

public class MethodB {
    public void createBProduct() {
        System.out.println("創(chuàng)建B項(xiàng)目業(yè)務(wù)邏輯");
    }
}

封裝外觀(guān)模式定義 并測(cè)試調(diào)用

public class FacadePattern {

    public static void FacadePatternMethod () {
        MethodA methodA = new MethodA();
        methodA.createAProduct();

        MethodB methodB = new MethodB();
        methodB.createBProduct();
    }

    public static void main(String[] args) {
        FacadePatternMethod();
    }
}

輸出

創(chuàng)建A項(xiàng)目業(yè)務(wù)邏輯
創(chuàng)建B項(xiàng)目業(yè)務(wù)邏輯
最后編輯于
?著作權(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)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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