Nel tutorial ufficiale di Angular 2 , qualsiasi operazione che richiede ottenere o salvare una lezione richiede usando un servizio. Per una classe Hero
, hanno dovuto creare un HeroService
per eseguire tutte le chiamate HTTP. Ciò include ottenere un singolo oggetto Hero
con heroService.getHero
e creare o aggiornare un singolo oggetto Hero
con heroService.create
o heroService.update
.
Contrasta con mangusta . La maggior parte delle operazioni per ottenere o salvare una classe in mangusta viene eseguita tramite un metodo sull'oggetto stesso, anziché utilizzare un servizio. L'equivalente di Mongoose di heroService.getHero
sarebbe Hero.findOne
. Invece di heroService.create
o heroService.update
, la mangusta avrebbe Hero.create
o hero.save
.
Certo, Angular 2 è un intero framework di frontend, e mangusta è una libreria di backend specifica per mongodb. Quindi la mia domanda è: ci sono vantaggi o limitazioni specifici che richiedono che Angular 2 usi un servizio per queste operazioni, al contrario di eseguire semplicemente chiamate HTTP tramite metodi sull'oggetto stesso? O è interamente un scelta di progettazione, dove in entrambi i casi avrebbe potuto funzionare altrettanto bene?