靜態工廠模式 (Static Factory Pattern) 的應用與優勢
引言 在軟體開發中,物件的建立是最常見的操作之一。我們通常直接使用 new 關鍵字來實例化物件,但當建立過程變得複雜、需要非同步操作,或者我們想對建立過程有更多控制時,直接使用 new 可能就不夠了。 本文將介紹靜態工廠模式如何解決這些問題,並以 ImageLoader 重構為例,展示實際應用場景 什麼是工廠模式? 工廠模式的核心概念是將物件的建立邏輯從直接的 new 呼叫中抽離出來,委託給一個專門的「工廠」來負責。這樣做的主要目的是降低耦合、提高彈性。 工廠模式有多種變體: 簡單工廠:一個工廠類別負責建立多種產品 - 👉 More 工廠方法:每個產品都有自己的工廠 - 👉 More 抽象工廠:建立相關產品族 - 👉 More 靜態工廠方法:本文重點討論的模式 靜態工廠方法詳解 靜態工廠方法是類別內部的一個 static 方法,負責建立並返回該類別的實例(或其子類別的實例)。 命名慣例 常見的靜態工廠方法名稱: create() - 建立新實例 最常見的命名,表示建立一個全新的實例: // 組件建立 const button = Button.create({ text: 'Click me', onClick: handleClick }); // API 客戶端建立 const apiClient = ApiClient.create({ baseURL: 'https://api.example.com' }); // 資料庫連接建立 const dbConnection = await DatabaseConnection.create(config); of() - 從參數建立實例 表示從某些參數或值建立實例:...