工厂模式是一种常见的设计模式,用于创建对象而无需直接暴露对象的创建逻辑。在 PHP 中,工厂模式通常分为简单工厂模式、工厂方法模式和抽象工厂模式。
1. 简单工厂模式(Simple Factory Pattern)
简单工厂模式是最简单的工厂模式,它通过一个工厂类来创建对象,而不直接在客户端代码中实例化对象。这样可以隐藏对象的创建细节,使客户端代码更加简洁。
class SimpleFactory {
public function createProduct($type) {
switch ($type) {
case 'A':
return new ProductA();
case 'B':
return new ProductB();
default:
throw new InvalidArgumentException('Invalid product type');
}
}
}
interface Product {
public function getName();
}
class ProductA implements Product {
public function getName() {
return 'Product A';
}
}
class ProductB implements Product {
public function getName() {
return 'Product B';
}
}
// 在客户端代码中使用简单工厂
$factory = new SimpleFactory();
$productA = $factory-&g