Лучший способ организовать файлы в большом проекте ASP.NET MVC2?

Я искал в Интернете лучший способ организовать проект ASP.NET MVC2. Я видел только примеры людей, использующих шаблон по умолчанию для проектов MVC2. Но разве это лучший способ организовать ваш проект, если он будет содержать большое количество файлов?

Мы находимся в процессе создания приложения, которое в значительной степени построено на jQuery для пользовательского интерфейса и ajax с использованием JSON. Итак, как вы понимаете, у нас будет много пользовательских сценариев поддержки .js.

В нашем решении мы поместили все наши библиотеки поддержки (сторонние и пользовательские) в соответствующие проекты. Проект MVC2, который также находится в решении, использует шаблон MVC2 по умолчанию.

В проекте MVC2 «стартовая» структура практически не изменилась. В каталоге Controllers у нас есть каждый контроллер AccountController.cs и HomeController.cs (например). В каталоге Views у нас есть три подкаталога с именами Account, Home и Shared. В каталоге Scripts мы также разделили его на три каталога: Account, Home и Shared. И, наконец, у нас есть каталог Models, который также разделен на подкаталоги Account, Home и Shared.

Как видите, мы не сильно отклонились от базового шаблона. Но по мере того, как мы начинаем добавлять что-то к этому, мы понимаем, насколько громоздким это может стать, когда мы перейдем к 20 или 30 представлениям и 100 файлам поддержки .js.

Любые предложения были бы замечательными!

Спасибо.


person Sean    schedule 27.01.2011    source источник


Ответы (1)


Изучите использование областей для организации ваших представлений / контроллеров / моделей / содержимого.

Вот хорошая статья от Microsoft: Пошаговое руководство: организация Приложение ASP.NET MVC с использованием областей

Для работы с большими проектами ASP.NET MVC позволяет разбивать веб-приложения на более мелкие блоки, которые называются областями. Области позволяют разделить большое веб-приложение MVC на более мелкие функциональные группы. Область - это фактически структура MVC внутри приложения. Приложение может содержать несколько структур (областей) MVC.

person hunter    schedule 27.01.2011
comment
Привет, спасибо за это. Я занимаюсь этим. Интересно, почему проект MVC2 не настроен таким образом с самого начала? Кроме того, кажется, что он добавляет файл web.config для каждой области / представления. Необходим ли этот файл web.config для каждой области? - person Sean; 27.01.2011
comment
Я думаю, что большинство людей даже не подозревают о них, если вы не дойдете до точки, в которой находитесь, в поисках лучшей организации. Да, для каждой области необходимы файлы web.configs. - person hunter; 27.01.2011
comment
Ну, я возился с ними последние 30 минут и уже вижу, насколько это намного лучше. Еще раз спасибо за предложение! - person Sean; 27.01.2011
comment
Итак, в организации области, где вы размещаете глобальные представления для таких элементов, как AccessDenied.aspx и / или LoginRequest.aspx, которые на самом деле не принадлежат какой-либо конкретной области? - person Sean; 27.01.2011
comment
Для подобных вещей я обычно помещаю их в ~/Views/Shared/* и создаю ~/Controllers/SharedController.cs - person hunter; 27.01.2011