首頁  >  文章  >  Java  >  JAVA外觀模式詳解

JAVA外觀模式詳解

WBOY
WBOY轉載
2022-06-06 19:15:331967瀏覽

本篇文章為大家帶來了關於java的相關知識,其中主要介紹了關於外觀模式的相關內容,外觀模式又叫作門面模式,是一種透過為多個複雜的子系統提供一個一致的接口,而使這些子系統更容易被存取的模式,希望對大家有幫助。

JAVA外觀模式詳解

推薦學習:《java影片教學

外觀(Facade)模式又叫作門面模式,是一種透過為多個複雜的子系統提供一個一致的接口,而使這些子系統更容易被存取的模式。此模式對外有一個統一接口,外部應用程式不用關心內部子系統的具體細節,這樣會大大降低應用程式的複雜度,提高了程式的可維護性。

優點

1、降低了子系統與客戶端之間的耦合度,使得子系統的變化不會影響呼叫它的客戶類別。
2、對客戶封鎖了子系統元件,減少了客戶處理的物件數目,並使得子系統使用起來更加容易。
3、降低了大型軟體系統中的編譯依賴性,簡化了系統在不同平台之間的移植過程,因為編譯子系統不會影響其他的子系統,也不會影響外觀物件。

缺點

1、不能很好地限制客戶使用子系統類,很容易帶來未知風險。
2、增加新的子系統可能需要修改外觀類別或客戶端的原始程式碼,違反了「開閉原則」。

知識點

外觀(Facade)模式的結構比較簡單,主要是定義了一個高層介面。它包含了對各個子系統的引用,客戶端可以透過它存取各個子系統的功能。現在來分析其基本結構和實作方法。

外觀模式實現

案例: 長虹劍、冰魄劍、紫雲劍三劍合璧。
外觀(Facade)角色:三劍合璧
子系統(Sub System)角色:長虹劍、冰魄劍、紫雲劍
客戶(Client)角色:測試類,調用三劍合璧

長虹劍

長虹劍類別宣告一個呼叫長虹劍的方法

public class ChangHong {
    public void show(){
        System.out.println("长虹剑");
    }}

冰魄劍

冰魄劍類別宣告一個呼叫冰魄劍的方法

public class BingPo {
    public void show(){
        System.out.println("冰魄剑");
    }}

紫雲劍

#紫雲劍類別宣告一個呼叫紫雲劍的方法

public class ZiYun {
    public void show(){
        System.out.println("紫云剑");
    }}

三劍合璧

聲明三個劍對象,並且宣告一個方法呼叫三劍的方法。

public class San {
    private ChangHong changHong =new ChangHong();
    private BingPo bingPo=new BingPo();
    private ZiYun ziYun=new ZiYun();
    public void shows(){
        changHong.show();
        bingPo.show();
        ziYun.show();
        System.out.println("三剑合璧");
    }}

測試

new一個三劍合璧的對象,呼叫三劍合璧的方法

public class Demo {
    public static void main(String[] args) {
        San san=new San();
        san.shows();
    }}

推薦學習:《java影片教學

以上是JAVA外觀模式詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除