Java Design Pattern

1.Factory設計模式

工廠模式(Factory Pattern)是 Java 中最經常使用的設計模式之一。這種類型的設計模式屬於建立型模式,它提供了一種建立對象的最佳方式。安全

使用狀況:定義一個建立對象的接口,讓其子類本身決定實例化哪個工廠類,工廠模式使其建立過程延遲到子類進行。
優勢:一個調用者想建立一個對象,只要知道其名稱就能夠了。 擴展性高,若是想增長一個產品,只要擴展一個工廠類就能夠。 屏蔽產品的具體實現,調用者只關心產品的接口。
缺點:每次增長一個產品時,都須要增長一個具體類和對象實現工廠,使得系統中類的個數成倍增長,在必定程度上增長了系統的複雜度,同時也增長了系統具體類的依賴。
2.Singleton設計

單例模式是指,採用某種手段或者方法,保證整個軟件系統中只能存在一個對象的實例,而且該實例只提供建立該對象的方法。代理

  • 使用狀況:當您想控制實例數目,節省系統資源的時候,和一個全局使用的類頻繁地建立與銷燬的時候
  • 優勢:節省系統資源的開銷,避免內存的重複使用
  • 缺點:沒有接口,不能繼承

3. Prototype對象

在模板模式中,一個抽象類公開定義了執行它的方法的方式/模板。它的子類能夠按須要重寫方法實現,但調用將以抽象類中定義的方式進行。這種類型的設計模式屬於行爲型模式。繼承

  • 使用狀況:一些方法通用,卻在每個子類都從新寫了這一方法。
  • 優勢: 封裝不變部分,擴展可變部分。 提取公共代碼,便於維護。 行爲由父類控制,子類實現。
  • 缺點:每個不一樣的實現都須要一個子類來實現,致使類的個數增長,使得系統更加龐大。

4.Proxy接口

爲其餘對象提供一種代理以控制對這個對象的訪問。內存

  • 使用狀況:想在訪問一個類時作一些控制。如安全代理,遠程加載,延遲加載
  • 優勢:職責清晰、高擴展性、智能化。
  • 缺點:因爲在客戶端和真實主題之間增長了代理對象,所以有些類型的代理模式可能會形成請求的處理速度變慢。並且實現代理模式須要額外的工做,有些代理模式的實現很是複雜。
相關文章
相關標籤/搜索