📅  最后修改于: 2023-12-03 15:03:40.912000             🧑  作者: Mango
PHP 中的简单工厂设计模式是一种创建型设计模式,它允许创建对象而无需暴露创建逻辑。简单工厂通过使用一个共同的接口来创建所有相关对象,从而隐藏了对象的创建细节。
下面是一个简单工厂的示例代码:
interface Vehicle {
public function drive();
}
class Car implements Vehicle {
public function drive() {
echo "Driving a car...\n";
}
}
class Truck implements Vehicle {
public function drive() {
echo "Driving a truck...\n";
}
}
class VehicleFactory {
public function createVehicle($type) {
if ($type == 'car') {
return new Car();
} elseif ($type == 'truck') {
return new Truck();
}
}
}
// 使用工厂创建对象
$factory = new VehicleFactory();
$car = $factory->createVehicle('car');
$car->drive();
$truck = $factory->createVehicle('truck');
$truck->drive();
在上面的代码中,我们创建了一个 Vehicle
接口和两个具体的实现 Car
和 Truck
。然后我们创建了一个工厂类 VehicleFactory
,该类含有一个 createVehicle
方法,该方法根据传入的参数创建不同的对象。
最后我们使用工厂类创建了对象并调用了其 drive
方法。
PHP 中的简单工厂设计模式可以很好地解决对象创建的问题,为代码的拓展提供了方便。不过,在使用简单工厂设计模式时需要注意适用情况,避免滥用该模式,导致代码出现不必要的复杂度。