當前位置: 妍妍網 > 碼農

今日程式碼大賞 | 工廠方法模式

2024-04-29碼農

工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一,這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。

工廠模式的核心目的在於將物件的建立過程抽象化,從而允許子類別改變一個類的例項是如何被建立的,而不改變客戶端的程式碼。這種模式被稱為工廠方法模式。

工廠模式根據其實作方式的不同,可以分為簡單工廠模式、工廠方法模式和抽象工廠模式。今天我們來詳細了解一下工廠方法模式。

下面是使用 Java 實作工廠方法模式的範例程式碼:

// 產品介面
interfaceProduct {
voiduse();
}
// 具體產品類
classConcreteProductimplementsProduct {
@Override
publicvoiduse() {
System.out.println("使用具體產品");
}
}
// 工廠介面
interfaceFactory {
Product factoryMethod();
}
// 具體工廠類
classConcreteFactoryimplementsFactory {
@Override
public Product factoryMethod() {
returnnewConcreteProduct();
}
}
// 客戶端程式碼
public classClient {
publicstaticvoidmain(String[] args) {
Factoryfactory = newConcreteFactory();
Productproduct = factory.factoryMethod();
product.use();
}
}

在上述程式碼中,我們首先定義了一個產品介面 Product,以及一個具體產品類 ConcreteProduct 實作了該介面。然後,我們定義了一個工廠介面 Factory,以及一個具體工廠類 ConcreteFactory 實作了該介面的 factoryMethod 方法,用於建立產品物件。客戶端程式碼透過具體工廠類 ConcreteFactory 來獲取產品物件,並呼叫產品的 use 方法。

工廠方法模式的優點在於它能夠使得一個類的例項化過程獨立於該類之外,並且能夠將物件的建立和使用分離,從而提高了程式碼的可延伸性和可維護性。而其缺點在於每次添加新的產品類時,都需要添加一個新的具體工廠類,這可能會導致系統中類的數量成倍增加。

今天的程式碼大賞就到這裏。希望透過這篇文章,你能夠對工廠方法模式有一個更深入的理解。

完整程式碼片段來源於程式碼小抄,歡迎點選進入小程式閱讀!

線上存取:https://www.codecopy.cn/post/xh6hy6

在程式碼小抄可以看到更多優質程式碼,也歡迎大家積極分享,可能會獲得我們官方的小禮品 🎁~

往期推薦