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?