La mia domanda riguarda più come progettare un'applicazione MVC. Ad esempio, siamo incoraggiati a utilizzare DI con il modello di repository per disaccoppiare l'accesso ai dati dal controller, tuttavia molto poco è detto su COME farlo in modo specifico per MVC. Dove posizioneremmo le classi di repository, per esempio? Non sembrano essere specificamente correlati al modello, dal momento che il modello dovrebbe anche essere relativamente disaccoppiato dalle effettive tecnologie di accesso ai dati.
Una seconda domanda riguarda come strutturare i livelli o i livelli. La maggior parte delle applicazioni di esempio (Nerd dinner, Music Store, ecc.) Sembrano utilizzare un approccio a livello singolo, a 2 livelli (senza contare i test) che in genere ha i controller che chiamano direttamente L2S o codice EF.
Se voglio creare un'applicazione multilivello / strato quali sono alcune delle migliori pratiche in merito a MVC?