1. 程式人生 > >24種設計模式優缺點及適用場景#工廠方法模式

24種設計模式優缺點及適用場景#工廠方法模式

產品 抽象 彌補 用戶 裏氏替換原則 一個 延伸 無需 可擴展

創建型#工廠方法模式

概述:

  工廠方法是簡單工廠模式的延伸,它繼承了簡單工廠模式的優點,同時還彌補了簡答工廠模式的不足。工廠方法是最常用的設計模式之一,很多開源框架和API類庫的核心模式。

優點:

  1、用戶只需要關心所需產品對應的工廠,無需關心創建細節,甚至無需知道具體產品類名;

  2、所有的具體工廠類都具有同一抽象父類,被稱為多態工廠模式;

  3、符合開閉原則,新增產品只需要添加工廠類和具體產品,無需修改代碼,擴展性好;

缺點:

  1、添加一個新的產品,系統中類的個數增加,導致增加了系統的復雜性,有更多的類需要編譯和運行,會增加系統性能的開銷;

  2、由於考慮到系統的可擴展性,需要引入抽象層,在客戶端代碼中均使用抽象層進行定義,增加了系統的抽象性和理解難度;

適用環境:

  1、客戶端不知道他所需要的對象的類。

  2、抽象工廠類通過其子類來指定創建哪個對象。利用面向對象的多態性和裏氏替換原則,在程序運行時子類覆蓋父類對象,從而使得系統更容易擴展。

24種設計模式優缺點及適用場景#工廠方法模式