• 设计模式---工厂模式


    在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作为参数,并返回一个具有相应属性和方法的对象。你可以根据需要添加更多的车型和属性。

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

  • 相关阅读:
    JVM调优
    PyQt中QFrame窗口中的组件不显示的原因
    用友U8 CRM客户关系管理任意文件上传漏洞复现【附POC】
    [cocos creator] Label设置为RESIZE_HEIGHT,获取height
    餐饮美食网页设计(HTML+CSS+JavaScript)
    网络安全(黑客)自学
    三、支付宝支付对接 - 申请、配置、签约、获取RSkey(1)
    Linux进程概念
    Vue:(四)数据代理
    Zookeeper 集群搭建
  • 原文地址:https://blog.csdn.net/m0_54007573/article/details/139568591