java之簡單工廠

來源:互聯網
上載者:User

標籤:代碼   客戶   .com   strong   初始化   通過   簡單工廠   family   不能   

 

 1、使用步驟
  • 建立抽象/介面產品類,定義具體產品的公用介面方法;(產品介面類
  • 建立具體產品類,是繼承抽象產品類的;(產品介面實作類別
  • 建立工廠類,通過建立靜態方法根據傳入不同參數從而建立不同具體產品類的執行個體;(工廠類,建立具體產品執行個體)
  • 外界通過調用工廠類的靜態方法,傳入不同參數從而建立不同具體產品類的執行個體。(使用類,使用工廠類獲得想要的產品執行個體)
2、 優點
  • 將建立執行個體的工作與使用執行個體的工作分開,使用者不必關心類對象如何建立,實現瞭解耦;(建立對象和使用對象分離
  • 把初始化執行個體時的工作放到工廠裡進行,使代碼更容易維護。 更符合物件導向的原則,面向介面編程,而不是面向實現編程。(面向介面編程
3、缺點
  • 工廠類集中了所有執行個體(產品)的建立邏輯,一旦這個工廠不能正常工作,整個系統都會受到影響。
  • 違背“開放 - 關閉原則”,一旦添加新產品就不得不修改工廠類的邏輯,這樣就會造成工廠邏輯過於複雜。
  • 簡單原廠模式由於使用了靜態Factory 方法,靜態方法不能被繼承和重寫,會造成工廠角色無法形成基於繼承的等級結構。
4. 應用情境

在瞭解了優缺點後,我們知道了簡單原廠模式的應用情境:

  • 客戶如果只知道傳入工廠類的參數,對於如何建立對象的邏輯不關心時;
  • 當工廠類負責建立的對象(具體產品)比較少時。

 

java之簡單工廠

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.