Java工廠模式和簡單工廠是兩種常見的設計模式,在Java開發中經常使用,但是他們之間還有一些不同之處。
簡單工廠是由一個工廠對象根據傳入的參數決定創建哪一種產品類的實例,而工廠模式則是通過定義一個用于創建對象的接口來實現,讓子類決定實例化哪一個類。在工廠模式中,客戶端只需要知道需要什么產品,而無需關心產品的創建過程。
/** * 簡單工廠模式 */ public class SimpleFactory { public static Product createProduct(String productName) { switch (productName) { case "A": return new ProductA(); case "B": return new ProductB(); default: return null; } } } /** * 工廠模式接口 */ public interface Factory { Product createProduct(); } /** * 工廠模式實現類 */ public class ProductAFactory implements Factory { @Override public Product createProduct() { return new ProductA(); } } public class ProductBFactory implements Factory { @Override public Product createProduct() { return new ProductB(); } }
從代碼實現上看,簡單工廠模式只有一個工廠類,而工廠模式需要定義一個工廠接口和多個實現工廠類,這樣可以更好地遵循開閉原則,方便擴展。
總之,工廠模式和簡單工廠雖然都可以用來創建對象,但是在適用方向、實現方式等方面還是有所不同,需要根據具體情況來選擇合適的模式。