AngularJS
Servizio di distinzione rispetto alla fabbrica
Ricerca…
Factory VS Service una volta per tutte
Per definizione:
I servizi sono fondamentalmente funzioni di costruzione. Usano la parola chiave "this".
Le fabbriche sono semplici funzioni quindi restituiscono un oggetto.
Sotto il cappuccio:
Le fabbriche chiamano internamente la funzione provider.
I servizi internamente chiamano la funzione di fabbrica.
Discussione:
Le fabbriche possono eseguire il codice prima di restituire il nostro oggetto letterale.
Ma allo stesso tempo, i Servizi possono anche essere scritti per restituire un oggetto letterale e per eseguire il codice prima di tornare. Sebbene ciò sia controproducente, i servizi sono progettati per funzionare come funzione di costruzione.
In effetti, le funzioni di costruzione in JavaScript possono restituire ciò che vogliono.
Quindi qual è il migliore?
La sintassi dei servizi del costruttore è più vicina alla sintassi di classe di ES6. Quindi la migrazione sarà facile.
Sommario
Quindi, in breve, fornitore, fabbrica e servizio sono tutti fornitori.
Una fabbrica è un caso speciale di un fornitore quando tutto ciò di cui hai bisogno nel tuo provider è una funzione $ get (). Ti permette di scriverlo con meno codice.
Un servizio è un caso speciale di una fabbrica quando si desidera restituire un'istanza di un nuovo oggetto, con lo stesso vantaggio di scrivere meno codice.