patrón de diseño - Singleton
En algunos escenarios, nos encontraremos con algunos de los objetos más difíciles (por ejemplo, sólo se permiten sin oposición, permitiendo sólo un líder) y así sucesivamente. Esta vez es necesario utilizar un producto único
var Dog = function(name) {
this.name = name
this._instance = null
}
Dog.createDog = function(newName) {
if(this._instance){
this._instance.name = newName
}else{
this._instance = new Dog(newName)
}
return this._instance
}
let husky = Dog.createDog('husky')
let shiba = Dog.createDog('shiba')
console.log(husky.name) // shiba
console.log(shiba.name) // shiba
console.log(husky === shiba) // true
El caso anterior es el modo más fácil de modelo de un solo caso