Skip to content
On this page

构造器模式

什么是构造器模式?它运用的场景是什么?

构造器就是用来构造对象的。本身有一个对象

js
let mondo = {
  name: 'mondo',
  age: 30,
  work: '程序员'
}

但是我们想创建多个对象时,可以使用构造器

js
// 构造器
function User(name, age, work) {
  this.name = name;
  this.age = age;
  this.work = work;
}

创建用户

js
let imondo = new User('imondo', 31, '打游戏');

用构造函数初始化对象,这个就叫做构造器模式。

在创建一个user过程中,谁变了,谁不变? 很明显,变的是每个 user 的姓名、年龄、工作这些值,这是用户的个性,不变的是每个人员都具备姓名、年龄、工作这些属性,这是用户的共性。

那么构造器做了什么?

构造器是不是将 name、age、work 赋值给对象的过程封装,确保了每个对象都具备这些属性,确保了共性的不变,同时将 name、age、work 各自的取值操作开放,确保了个性的灵活。

本质上构造器模式是抽象了每个对象实例的变与不变。