2014-02-10 12 views
0

Я разрабатываю комплексное веб-решение для бизнеса. Мой домен, отчеты и процессы, проекты структурированы вокруг бизнес-модулей (3-4 уровней в глубину), например .:Структура папок MVC - структура преимущественно бизнес-модуля, а не M/V/C?

\Franchises 
    \Regionals 
     \Billing 
     \Monthly 
     \... 
     \... 
     \... 
     \... 
    \... 
    \... 
\... 
\... 

Традиционная структура папок MVC торчит линия болит палец, макс 2 уровня в глубину. Поэтому я планирую реализовать эту структуру вместо:

\Franchises\Regionals\Billing\Monthly\RegionalMonthlyBillingController.cs 
\Franchises\Regionals\Billing\Monthly\Views\... 
\Franchises\Regionals\Billing\Monthly\ViewModels\... 

\Franchises\Divisionals\Allocation\DivisionalAllocationController.cs 
\Franchises\Divisionals\Allocation\Views\... 
\Franchises\Divisionals\Allocation\ViewModels\... 
... 

Обратите внимание, что наши модели предметной области проводятся в домене, и WebUI должен содержать только ViewModels.

Помимо проблемы настройки маршрутизации/сопоставления MVC, вы можете увидеть какие-либо проблемы с этим подходом?

Учитывая, что будет много папок Views, может ли быть проблема с производительностью с MVC, которая должна искать более 500 папок, чтобы найти соответствующий вид?

+0

Я думаю, что вы можете обрабатывать области MVC asp.net, хотя вы можете поместить контроллеры или области в отдельное пространство пространства имен, а затем создать собственную собственную маршрутизацию, но попытайтесь использовать переносные области в таком большом приложении для лучшего управления. – Ehsan

ответ

3

Помимо проблемы с настройкой маршрутизации/сопоставления MVC, можете ли вы, , найти какие-либо проблемы с этим подходом?

Может привести к некоторому довольно большому проекту, и, возможно, будет трудно ориентироваться для новичков. Вы можете рассмотреть вопрос об экстернализации некоторой логики в отдельных сборках, чтобы избежать использования одного монолитного приложения. Рассмотрим области ASP.NET MVC.

Учитывая, что будет много просмотров папки, может ли быть производительность озабоченность в связи с MVC необходимости искать 500+ папки, чтобы найти соответствующую мнение?

Нет, при запуске в режиме деблокирования (debug = "false") ASP.NET MVC кэширует местоположение просмотров и поиск довольно быстро.

+0

Спасибо за отзыв. Это то же самое количество просмотров и контроллеров в любом случае, просто ли совокупность только смутно связанных между собой объединяется вместе или может быть организована последовательно с другими уровнями. –