简单工厂模式定义:
通过一个工厂类根据输入参数决定创建哪种具体产品对象。
适用场景:
// 支付接口
interface Payment {
public function pay($amount);
}
// 具体支付类
class Alipay implements Payment {
public function pay($amount) {
echo "支付宝支付:{$amount}元\n";
}
}
class WechatPay implements Payment {
public function pay($amount) {
echo "微信支付:{$amount}元\n";
}
}
// 简单工厂
class PaymentFactory {
public static function createPayment($type) {
switch ($type) {
case 'alipay':
return new Alipay();
case 'wechat':
return new WechatPay();
default:
throw new Exception("不支持的支付方式");
}
}
}
// 使用
$payment = PaymentFactory::createPayment('alipay');
$payment->pay(100); // 输出:支付宝支付:100元
痛点解决:
new Alipay()
或 new WechatPay()
。原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。