工廠模式是一種創建型設計模式,它提供了一種在不指定具體類的情況下創建對象的方法。在PHP中,工廠模式可以幫助我們降低代碼的耦合度,提高代碼的可維護性和可擴展性。以下是使用工廠模式降低代碼耦合度的一些建議:
abstract class Product {
public abstract function use();
}
class ConcreteProductA extends Product {
public function use() {
return "Using ConcreteProductA";
}
}
class ConcreteProductB extends Product {
public function use() {
return "Using ConcreteProductB";
}
}
interface FactoryInterface {
public function createProduct();
}
class ConcreteFactoryA implements FactoryInterface {
public function createProduct() {
return new ConcreteProductA();
}
}
class ConcreteFactoryB implements FactoryInterface {
public function createProduct() {
return new ConcreteProductB();
}
}
$factoryA = new ConcreteFactoryA();
$productA = $factoryA->createProduct();
echo $productA->use(); // 輸出 "Using ConcreteProductA"
$factoryB = new ConcreteFactoryB();
$productB = $factoryB->createProduct();
echo $productB->use(); // 輸出 "Using ConcreteProductB"
通過以上步驟,我們使用工廠模式將客戶端與具體產品類解耦,使得代碼更加靈活和可擴展。當需要添加新的產品類型時,只需創建新的具體產品類和具體工廠類,而無需修改客戶端代碼。