Ho visto un tutorial sul modello di progettazione in javascript. Anche se il tutorial è stato buono, mi ha lasciato poche domande.Modello di fabbrica e modello di costruttore in javascript
Come vedo Factory e il costruttore producono lo stesso risultato. Quindi qual è la differenza tra entrambi? Quali sono gli scenari dei casi d'uso per ognuno?
pattern Factory
function factoryPattern(data) {
var factory = {};
factory.name = data.name;
factory.title = data.title;
factory.startDate = data.startDate;
return factory;
}
var factoryUse = factoryPattern(jsonObj);
modello Constructor
function constructorPattern(data) {
this.name = data.name;
this.title = data.title;
this.startDate = data.startDate;
}
var constructorUse = new constructorPattern();
Edit: Come ha spiegato @ Michael Warner. Il metodo Factory restituisce un oggetto immutabile che non ha alcun collegamento con il creatore dopo la creazione.
Ma nel patter del costruttore hanno un collegamento con loro.
Quindi avere un caso pratico d'uso sarebbe molto meglio capire perché a volte è bene avere un oggetto che abbia un collegamento con il proprio costruttore.
Il modello di fabbrica in grado di produrre vecchi oggetti dalla cache, se per esempio si stava creando oggetti immutabili dall'input –
@JosephYoung: Mi dispiace, ma non ho avuto te. Puoi spiegarlo come un termine laico – Carlos