Я изучаю ASP.NET MVC, и мне это нравится. Однако я очень озадачен правильным подходом к пространству имен в моих моделях.
Разбирая образец приложения NerdDinner, я заметил, что все в папке Models принадлежит пространству имен Models. Классы отображения данных, репозитории, управление правилами ошибок и т. Д. Принадлежат к одному и тому же уровню пространства имен.
Я понимаю, что эта папка была вдохновлена фреймворками, такими как Rails и друзья, и что она требуется для оправдания буквы M в названии MVC, но; не разрушает ли автоматическое пространство имен Model какие-либо шансы на написание бизнес-логики, которая может быть отсоединяемой и переносимой в разных системах и реализациях?
Должен ли я именовать пространство своей бизнес-логики под пространством имен этой модели или полностью игнорировать ее и классифицировать свои классы более независимым от структуры образом?
Существуют ли какие-нибудь сложные и хорошие примеры приложений ASP.NET MVC, которые продемонстрировали бы это?