簡單介紹工廠模式和單例模式

工廠模式html

  介紹:java

    工廠模式主要是爲建立對象提供過渡接口,以便將建立對象的具體過程(new 關鍵字和具體的構造器)隱藏起來。用一個工廠方法來替代,對外提供的只是一個工廠方法,達到提升靈活性的目的。   編碼

  優勢:線程

    1.隱藏了new關鍵字和構造器 設計

            2.下降了這個對象與別的類之間的耦合度,提升了程序的可擴展性。 緣由:當子類被別的類替代,或者構造器的參數發生變化的時候,只需改動工廠方法內的new便可,改動量降到了最低,直接用new關鍵字的話,須要改動的地方就不少了 htm

            3.把對象的設計和實現分割開來,從而代碼擴展性強、靈活性高。 對象

  適用範圍: 
         1.在編碼時不能預見須要建立哪個種類的實例。 
         2.一個類使用它的子類來建立對象。 
         3.開發人員不但願建立了那個類的實例以及如何建立實例的信息暴露給外部程序。 
          除了上面提到的例子,工廠模式的實現方式還容許有一些小小的變化,例如: 
            基類能夠是一個抽象類,在這種狀況下,工廠類必須返回一個非抽象類。 
            基類提供了一些缺省方法,只有當這些缺省方法不能知足特殊需求的狀況下才能在子類中重寫這些方法。 
            能夠直接經過傳遞給工廠類的參數決定應該返回哪個子類的實例。 blog

   結構:用一個方法來代替new關鍵字和構造器。 接口

 

單例模式資源

  介紹:

     1.聲明一個私有的,靜態的本類對象,但並不在聲明的時候就初始化,所以,它的值爲null。 
          2.私有化構造器 
          3.對外提供一個全局的,共有的,靜態的,惟一的方法,用來得到該實例,但注意的是:必需要手動保持線程同步(synchronized) 
          4.在該方法裏,判斷對象是否爲null,若是是null的話,表示這個類尚未被實例化,就會初始化這個對象,再返回若是不是null的話,就直接返回。

  優勢:

    整個系統中的全部的類共用一個實例化對象,這樣能夠有效的節省資源。

  適用特色:

    它確保一個類在java虛擬機裏只有一個實例,使一個類只有一個對象,整個系統共享這個對象。 

  結構:將構造變成私有的-->作一個靜態的生成對象的方法-->造一個靜態的存儲對象-->return 靜態的對象

 

參考http://www.javashuo.com/article/p-dzzdqqdv-ce.html

相關文章
相關標籤/搜索