工厂模式
简单工厂模式
介绍
简单工厂模式又叫静态工厂模式,主要是把类同的方法通过共同性进行封装,通过隐藏对象的创建细节,让客户端只需调用一个统一的接口或方法即可创建对象,而无需了解对象的具体创建逻辑,从而简化了对象的创建过程。
简单来讲就是把
创建对象的过程封装起来,通过传参等形式拿到实例的结果。其缺点就是每次新增新的逻辑时就要修改封装方法,所以这个模式只能用于对象数量较少或者对象逻辑不复杂时使用。
下面就是一个简单工厂模式的应用场景了。
示例
- 比如一个常用的多支付平台需求,根据用户选择的不同支付类型,调用不同的支付方法。
// 简单工厂
class PaymentFactory {
static createPayment(type) {
switch (type) {
case "alipay":
return new Alipay();
case "wechatpay":
return new WechatPay();
default:
throw new Error("Invalid payment type");
}
}
}
// 支付宝支付类
class Alipay {
pay(amount) {
console.log(`支付宝支付 ${amount} 元`);
}
}
// 微信支付类
class WechatPay {
pay(amount) {
console.log(`微信支付 ${amount} 元`);
}
}
// 使用简单工厂创建支付
const alipay = PaymentFactory.createPayment("alipay");
alipay.pay(100); // 支付宝支付 100 元
Powered by Waline v2.15.8