在軟件開發中,對象的創建是一個基礎且頻繁的操作。隨著項目規模的增長,直接使用 new 關鍵字實例化對象的方式可能導致代碼耦合度高、難以維護和擴展。為了解決這一問題,設計模式應運而生,而簡單工廠模式(Simple Factory Pattern)作為創建型模式的入門基石,以其簡潔直觀的特性,在眾多場景中發揮著重要作用。
簡單工廠模式,又稱靜態工廠方法模式,它提供一個專門的類(通常稱為工廠類)來負責創建其他類的實例。客戶端不直接調用具體類的構造函數,而是通過向工廠類傳遞參數,由工廠類根據參數決定創建并返回哪一種產品類的對象。其核心在于將對象的創建邏輯封裝起來,使客戶端代碼與具體產品類解耦。
簡單工廠模式通常包含以下三個角色:
createProduct),根據傳入的參數或條件返回不同的產品對象。假設我們正在開發一個圖形繪制程序,需要創建不同的形狀(如圓形、矩形、三角形)。不使用模式時,客戶端代碼需要明確知道每個具體形狀類的存在。而使用簡單工廠模式后:
Shape 接口,包含 draw() 方法。Circle、Rectangle 類,實現 Shape 接口。ShapeFactory,提供一個靜態方法 getShape(String type)。當傳入參數為 “CIRCLE” 時,返回 Circle 對象;為 “RECTANGLE” 時,返回 Rectangle 對象。這樣,客戶端代碼只需調用 ShapeFactory.getShape("CIRCLE").draw() 即可,無需關心 Circle 是如何被實例化的。當需要新增三角形時,只需添加新的具體產品類并在工廠方法中增加一個判斷分支,客戶端代碼基本無需改動。
簡單工廠模式適用于以下情況:
簡單工廠模式是一種非常實用且易于理解的設計模式。它通過封裝對象的創建過程,有效降低了模塊間的耦合度,使代碼結構更加清晰。其違背開閉原則的缺陷也決定了它更適合于產品類型穩定、變化不頻繁的場景。在軟件開發中,準確識別場景需求,合理運用簡單工廠模式,可以顯著提升代碼的初始質量,并為后續的架構演進鋪平道路。當系統復雜度增加時,應及時考慮升級到工廠方法模式或抽象工廠模式,以獲得更好的擴展性。
如若轉載,請注明出處:http://www.shzhuhai.com/product/67.html
更新時間:2026-08-24 11:32:32