MST

星途 面试题库

面试题:JavaScript 中工厂模式在实际开发中的应用场景举例

请举例说明在 JavaScript 项目里,哪些场景适合使用工厂模式来创建对象,并简单阐述如何使用工厂模式实现。
49.9万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

适合使用工厂模式的场景

  1. 创建相似对象:例如创建多个具有相似属性和方法的用户对象。在一个用户管理系统中,需要创建不同用户实例,这些用户都有基本的姓名、年龄、邮箱等属性和一些通用行为。
  2. 对象创建逻辑复杂:当创建对象的过程涉及多个步骤或者依赖外部配置等复杂逻辑时。比如创建一个数据库连接对象,连接配置可能从不同地方获取,创建过程要进行参数校验、初始化连接池等操作。

使用工厂模式实现示例

// 工厂函数
function userFactory(name, age, email) {
    return {
        name: name,
        age: age,
        email: email,
        sayHello: function() {
            console.log(`Hello, I'm ${this.name}`);
        }
    };
}

// 使用工厂函数创建对象
const user1 = userFactory('Alice', 25, 'alice@example.com');
const user2 = userFactory('Bob', 30, 'bob@example.com');

user1.sayHello(); 
user2.sayHello(); 

在上述代码中,userFactory 是一个工厂函数,它接收参数并返回一个包含特定属性和方法的对象。通过调用这个工厂函数,可以轻松创建多个相似的用户对象,隐藏了对象创建的具体细节,符合工厂模式的特点。