Abbiamo un sito legacy che è stato scritto da tempo con MVC. È un MVC valido per la maggior parte tranne che per il livello di accesso ai dati. Il sito ha modelli, viste e controllori. Tuttavia, anziché utilizzare Entity Framework, utilizzano servizi Web che utilizzano ADO per eseguire stored procedure.
Ad esempio: diciamo che abbiamo una pagina per mostrare tutti gli utenti. Avremmo una visualizzazione users.cshtml
, una classe UsersController.cs
e una classe UserViewModel.cs
.
Il metodo GetUsers()
nel controller Utenti chiamerebbe un metodo di servizio Web chiamato WebService.GetUsers()
. Questo servizio web chiamerebbe quindi una stored procedure chiamata dbo.GetUsers
che conterrebbe qualcosa come select * from Users where Active = true
.
Non ho mai visto questo tipo di approccio prima e mi chiedevo se fosse qualcosa che è stato inventato da chi ha realizzato questo sito, o se si tratta di uno stile architettonico del passato?
Vorrei anche sapere se questa è una buona architettura da usare.