久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      JAVA外觀模式詳解

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

      JAVA外觀模式詳解

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

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

      優(yōu)點(diǎn)

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

      缺點(diǎn)

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

      知識(shí)點(diǎn)

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

      外觀模式實(shí)現(xiàn)

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

      長(zhǎng)虹劍

      長(zhǎng)虹劍類聲明一個(gè)調(diào)用長(zhǎng)虹劍的方法

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

      冰魄劍

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

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

      紫云劍

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

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

      三劍合璧

      聲明三個(gè)劍對(duì)象,并且聲明一個(gè)方法調(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("三劍合璧");     }}

      測(cè)試

      new一個(gè)三劍合璧的對(duì)象,調(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號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)