Подтвердить что ты не робот

MVC3 Когда использовать районы?

Я работаю над гибким проектом MVC3, и он начинает становиться довольно большим, особенно мой раздел управления, где пользователь может установить множество конфигураций и т.д. Это мой первый проект MVC3, поэтому я просто Любопытно, когда имеет смысл использовать районы?

Как и должен ли контроллер для определенного раздела, такого как управление, перед тем, как вы решите разбить его на область и создать контроллеры для отдельных операций управления?

Кроме того, при использовании областей, должен ли я рефакторинг использовать области для всего или просто для разделов, которым нужна область?

4b9b3361

Ответ 1

Есть так много мнений о том, как организовать это, поскольку есть разработчики, но мои взгляды таковы:

Контроллеры должны отвечать только за взаимодействие с представлениями. То есть, создание экземпляров объектов и объектов, получение данных из ваших бизнес-объектов или уровня доступа к данным, реагирование на любые запросы со страницы (заявки на формы, запросы AJAX, интерфейс к динамическим методам создания ресурсов/классам (например, создание CAPTCHA или других динамических изображения)) и т.д. Если вы придерживаетесь этой философии, их размер и сложность никогда не должны превышать их взгляды.

Области Я имею тенденцию использовать области для разбиения приложения на под-приложения. Например, на сайте может быть форум для обсуждения, каталог продуктов, информация о компании, база данных поддержки и т.д., Все из которых будут отдельными областями:

/areas/forum/...
/areas/product/...
/areas/company/...
/areas/support/...

Затем в каждой области у вас может быть

/areas/support/{views|controllers}
/areas/support/search/
/areas/support/contact/
/areas/support/knowledgebase/

и др.

Так же, как на веб-сайте, где каждая папка представляет собой отдельный "area" веб-сайт, области предоставляют другой уровень организации, который позволяет хранить связанные контроллеры, представления и т.д. в общем месте и должен использоваться в аналогичном мода.

Ответ 2

Мы используем области, чтобы отличать заметные отдельные проблемы в приложении. Особенно отдельные проблемы, которые могут потребовать уникальной аутентификации или компоновки/стиля для каждой области. Например, я работаю над приложением, имеющим "модули". Каждый модуль является областью mvc и каждым модулем в качестве секции установки, которая также является областью mvc. Приложение имеет три модуля, так что это в общей сложности шесть областей - с шестью правами пользователей, чтобы идти вместе с ними. Это позволяет каждому модулю иметь новую "главную страницу/макет" (внешний вид) и определенный уровень безопасности.

Это помогает также отделить код; код в AreaA не имеет ничего общего с кодом в AreaB, но иногда AreaA и AreaB используют общий код, найденный в корне проекта.

У неземных частей сайта есть такие вещи, как пользовательский логин, страницы ошибок (404 и т.д.), основная область "пусковая установка" для ввода модулей, обработки исключений и других объектов, которые пересекают любая из областей mvc.

Ответ 3

Наиболее практично, когда вам нужно отдельное управление и повторное использование имен контроллеров. Как вы могли бы использовать его для сайта администрации, блога и т.д.