在PHP中,工廠模式是一種創建型設計模式,它提供了一種在不指定具體類的情況下創建對象的方法。這種模式的主要優點是它使得代碼更加靈活和可擴展。以下是使用工廠模式實現靈活擴展的步驟:
interface Product {
public function useProduct();
}
class ConcreteProductA implements Product {
public function useProduct() {
return "Using ConcreteProductA";
}
}
class ConcreteProductB implements Product {
public function useProduct() {
return "Using ConcreteProductB";
}
}
interface ProductFactory {
public function createProduct();
}
class ConcreteProductAFactory implements ProductFactory {
public function createProduct() {
return new ConcreteProductA();
}
}
class ConcreteProductBFactory implements ProductFactory {
public function createProduct() {
return new ConcreteProductB();
}
}
$factory = new ConcreteProductAFactory();
$product = $factory->createProduct();
echo $product->useProduct(); // 輸出: Using ConcreteProductA
$anotherFactory = new ConcreteProductBFactory();
$anotherProduct = $anotherFactory->createProduct();
echo $anotherProduct->useProduct(); // 輸出: Using ConcreteProductB
通過這種方式,工廠模式提供了一種靈活的方式來擴展你的代碼。你可以輕松地添加新的產品類型,而不需要修改現有的代碼結構。每個產品類型都有自己的工廠,這樣客戶端代碼就可以保持不變,而工廠邏輯可以根據需要進行擴展。