亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    JAVA外觀模式詳解

    本篇文章給大家?guī)砹岁P(guān)于java的相關(guān)知識,其中主要介紹了關(guān)于外觀模式的相關(guān)內(nèi)容,外觀模式又叫作門面模式,是一種通過為多個復(fù)雜的子系統(tǒng)提供一個一致的接口,而使這些子系統(tǒng)更加容易被訪問的模式,希望對大家有幫助。

    JAVA外觀模式詳解

    推薦學(xué)習(xí):《java視頻教程》

    外觀(Facade)模式又叫作門面模式,是一種通過為多個復(fù)雜的子系統(tǒng)提供一個一致的接口,而使這些子系統(tǒng)更加容易被訪問的模式。該模式對外有一個統(tǒng)一接口,外部應(yīng)用程序不用關(guān)心內(nèi)部子系統(tǒng)的具體細(xì)節(jié),這樣會大大降低應(yīng)用程序的復(fù)雜度,提高了程序的可維護性。

    優(yōu)點

    1、降低了子系統(tǒng)與客戶端之間的耦合度,使得子系統(tǒng)的變化不會影響調(diào)用它的客戶類。
    2、對客戶屏蔽了子系統(tǒng)組件,減少了客戶處理的對象數(shù)目,并使得子系統(tǒng)使用起來更加容易。
    3、降低了大型軟件系統(tǒng)中的編譯依賴性,簡化了系統(tǒng)在不同平臺之間的移植過程,因為編譯一個子系統(tǒng)不會影響其他的子系統(tǒng),也不會影響外觀對象。

    缺點

    1、不能很好地限制客戶使用子系統(tǒng)類,很容易帶來未知風(fēng)險。
    2、增加新的子系統(tǒng)可能需要修改外觀類或客戶端的源代碼,違背了“開閉原則”。

    知識點

    外觀(Facade)模式的結(jié)構(gòu)比較簡單,主要是定義了一個高層接口。它包含了對各個子系統(tǒng)的引用,客戶端可以通過它訪問各個子系統(tǒng)的功能?,F(xiàn)在來分析其基本結(jié)構(gòu)和實現(xiàn)方法。

    外觀模式實現(xiàn)

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

    長虹劍

    長虹劍類聲明一個調(diào)用長虹劍的方法

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

    冰魄劍

    冰魄劍類聲明一個調(diào)用冰魄劍的方法

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

    紫云劍

    紫云劍類聲明一個調(diào)用紫云劍的方法

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

    三劍合璧

    聲明三個劍對象,并且聲明一個方法調(diào)用三劍的方法。

    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一個三劍合璧的對象,調(diào)用三劍合璧的方法

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

    推薦學(xué)習(xí):《java視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號