Java工廠模式是一種創建對象的設計模式。該模式的核心思想是將對象的創建與使用分離,將創建對象的過程交給一個工廠類來完成。
工廠模式一般包含一個工廠類和若干個產品類。工廠類負責創建產品對象,而產品類則負責實現產品對象的功能。工廠類通常包含一個工廠方法,用于創建產品對象。
工廠模式有許多變種,其中最常見的是簡單工廠模式、工廠方法模式和抽象工廠模式。
下面是一個簡單工廠模式的示例代碼:
public class SimpleFactory {
public static Product createProduct(String type) {
if (type.equals("A")) {
return new ProductA();
} else if (type.equals("B")) {
return new ProductB();
} else {
return null;
}
}
}
public interface Product {
void use();
}
public class ProductA implements Product {
@Override
public void use() {
System.out.println("使用產品A");
}
}
public class ProductB implements Product {
@Override
public void use() {
System.out.println("使用產品B");
}
}
public class Main {
public static void main(String[] args) {
Product productA = SimpleFactory.createProduct("A");
Product productB = SimpleFactory.createProduct("B");
productA.use();
productB.use();
}
}
在上面的代碼中,工廠類SimpleFactory包含一個靜態方法createProduct,該方法用于創建產品對象。當傳入參數為"A"時,工廠類將創建ProductA對象;當傳入參數為"B"時,工廠類將創建ProductB對象。
工廠模式具有很好的擴展性和靈活性,可以方便地修改或添加產品類和工廠類。同時,該模式可以使代碼更加可讀、可維護,并且符合單一職責原則。