在PHP中,工廠模式是一種創(chuàng)建型設(shè)計(jì)模式,它提供了一種在不修改現(xiàn)有代碼的情況下創(chuàng)建新對(duì)象的方法。為了確保工廠模式的擴(kuò)展性,可以遵循以下幾個(gè)原則:
abstract class Product {
public abstract function use();
}
class ConcreteProductA extends Product {
public function use() {
echo "Using ConcreteProductA\n";
}
}
class ConcreteProductB extends Product {
public function use() {
echo "Using ConcreteProductB\n";
}
}
interface Factory {
public function createProduct();
}
class ConcreteFactoryA implements Factory {
public function createProduct() {
return new ConcreteProductA();
}
}
class ConcreteFactoryB implements Factory {
public function createProduct() {
return new ConcreteProductB();
}
}
$factoryA = new ConcreteFactoryA();
$productA = $factoryA->createProduct();
$productA->use();
$factoryB = new ConcreteFactoryB();
$productB = $factoryB->createProduct();
$productB->use();
通過(guò)遵循以上原則,工廠模式可以確保擴(kuò)展性。當(dāng)需要添加新的產(chǎn)品類型時(shí),只需創(chuàng)建一個(gè)新的具體產(chǎn)品類和新的具體工廠類,而無(wú)需修改現(xiàn)有的代碼。這使得代碼更加靈活和可維護(hù)。