Consigli sulla progettazione di modelli in ASP.Net MVC e database

0

Sto progettando un'app MVC e ho difficoltà a capire come costruire i miei modelli. Ad esempio, ho nel mio database, manager, che hanno un ruolo, sono collegati a un'istituzione, un programma e corsi.

Avrò una vista per i manager, con le loro informazioni sul profilo, informazioni di contatto e simili. Voglio anche collegarli a una o più istituzioni, programmi e corsi.

Stavo per creare modelli per ognuno di questi (Manager, Ruolo, Istituzione, Programma, Corsi) ma dopo aver letto molti post qui credo che per un ManagerProfileView, dovrei andare con ManagerProfileViewModel. Nel ViewModel, inserirò ManagerViewModel, ecc. Ecc.

È questo il modo in cui dovrei andare o c'è un design migliore? Grazie in anticipo!

    
posta jonlapointe 18.08.2017 - 02:33
fonte

1 risposta

2

In ASP.Net MVC hai sia ViewModels che eseguono il backup delle tue visualizzazioni sia i normali Modelli che rappresentano le tue entità aziendali.

Quindi sei praticamente già sulla strada giusta. Dovresti creare classi modello per Manager, Ruolo, Istituzione, Programma e Corso e tu crei ViewModels contenenti tutti i dati che usi all'interno della rispettiva vista.

La motivazione di questo approccio per utilizzare due diversi tipi di modelli è il fatto che di solito è necessario manipolare o trasformare i dati provenienti dall'origine dati prima di poterli presentare all'utente. Questa logica non dovrebbe essere direttamente nella vista, in quanto viola SRP e porta a codice disordinato. Pertanto, hai questo livello di ViewModels in mezzo.

Vedi anche questa risposta per un'ottima spiegazione di ViewModels.

    
risposta data 18.08.2017 - 10:05
fonte

Leggi altre domande sui tag