Stiamo costruendo una grande SPA angolare che utilizza l'API Web ASP.NET sul back-end. L'applicazione avrà un numero elevato di visualizzazioni (100-200). Sto discutendo se organizzare l'API Web in modo tale che i controllori ei loro metodi siano raggruppati per la vista lato client o raggruppandoli per gruppo di funzionalità.
Come esempio per la struttura del controller API Web:
Per visualizzazioni:
Root
--- Dashboard
------ DashboardController
--------- GetUserPreferences
--------- GetOrganizationInformation
--------- GetNews
o Per gruppo di funzionalità:
Root
--- UserController
------ GetUserPreferences
--- OrganizationController
------ GetOrganizationInformation
--- NewsController
------ GetNews
Personalmente mi sto appoggiando ad un approccio di By Views. Man mano che l'applicazione cresce, la mia preoccupazione è quella di dover rimbalzare continuamente tra i controller in un progetto in continua crescita. Mi sento come se diventasse ingombrante e difficile da tenere traccia di dove ti trovi nel progetto.
Va notato che utilizziamo un modello di repository dietro il livello API Web e che sarà organizzato in un gruppo di funzionalità moda. Il livello API Web tende a essere molto sottile e la maggior parte del lavoro si verifica nel livello Repo.
Pensieri?