第四章 设计模式 - 创建型 - 原型模式

发布时间 2023-03-28 15:48:15作者: caix-1987

原型模式的概念

1、原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象

2、原型模式,就是创建一个共享的原型,通过拷贝这个原型来创建新的类,用于创建重复的对象,带来性能上的提升。

3、原型模式在常见不过了。当新创建的对象和已有对象存在较大共性时,可以通过对象的 复制 来达到创建新的对象,这就是 原型模式

原型的实现

1、 Object.create() 继承实现原型模式

const user = {
	name: 'zhangsan',
  age: 18
};
let userOne = Object.create(user);
console.log(userOne.__proto__); // {name: "zhangsan", age: 18}
2、原型链 继承 实现原型模式 es6 class extends 方法

class User {
	constructor (name) {
  	this.name = name;
  }
  getName () {
  	return this.name;
  }
}

class Admin extends User {
	constructor (name) {
  	super(name);
  }
  setName (_name) {
  	return this.name = _name;
  }
}

const admin = new Admin('zhangsan');
console.log(admin.getName());
console.log(admin.setName('lisi'));

原型模式总结

小结

  原型模式最简单的实现方式 --- Object.create()。

使用场景

  新创建对象和已有对象无较大差别时,可以使用原型模式来减少创建新对象的成本。
  
原型模式 就是创建一个共享的原型,通过拷贝这个原型来创建新的类,用于创建重复的对象,带来性能上的提升。