设计模式---工厂模式

在JavaScript中,工厂模式是一种创建对象的设计模式,而无需直接实例化类。工厂模式抽象了对象的创建过程,允许我们根据传入的参数返回不同类型的对象。

以下是一个简单的JavaScript工厂模式的例子:

// 定义一个工厂函数
function CarFactory(type, color) {
// 创建一个空对象
var car = {};
// 根据传入的参数设置对象的属性和方法
switch (type) {
case 'sedan':
car.doors = 4;
car.type = 'Sedan';
break;
case 'suv':
car.doors = 5; // 假设SUV有5个门
car.type = 'SUV';
break;
// 可以添加更多车型
default:
throw new Error('Unknown car type');
}
car.color = color;
// 可以添加通用的方法
car.start = function() {
console.log('Car is starting...');
};
// 返回创建的对象
return car;
}
// 使用工厂函数创建对象
var sedan = CarFactory('sedan', 'blue');
var suv = CarFactory('suv', 'red');
console.log(sedan); // 输出: { doors: 4, type: 'Sedan', color: 'blue', start: [Function: start] }
console.log(suv); // 输出: { doors: 5, type: 'SUV', color: 'red', start: [Function: start] }

在这个例子中,CarFactory函数就是一个工厂,它接受typecolor作为参数,并返回一个具有相应属性和方法的对象。你可以根据需要添加更多的车型和属性。

工厂模式的一个优点是,它使得对象的创建过程与具体的实现解耦。当你需要创建新的对象类型时,你只需要修改工厂函数即可,而不需要修改使用工厂函数创建对象的代码。这有助于保持代码的清晰和可维护性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值