Моє запитання більше про те, як архітектуру програми MVC. Наприклад, нам рекомендується використовувати DI із шаблоном репозиторію, щоб відключити доступ до даних від контролера, однак про те, як зробити це спеціально для MVC, сказано дуже мало. Де ми розмістимо, наприклад, класи репозиторію? Вони, здається, не пов'язані конкретно з моделлю, оскільки модель також повинна бути відносно відокремлена від реальних технологій доступу до даних.
Друге питання передбачає, як структурувати шари або яруси. Більшість прикладних програм (Nerd вечеря, Музичний магазин тощо), схоже, використовують однорівневий, двошаровий підхід (не рахуючи тестів), який, як правило, має контролери, що безпосередньо викликають код L2S або EF.
Якщо я хочу створити багаторівневу / шарову програму, які є найкращі практики щодо MVC?