MVC Организация пространства имен - PullRequest
2 голосов
/ 05 февраля 2009

Надеясь, что сообщество SO может помочь разрешить спор в офисе. На данный момент наш вывод «это зависит»!

Как вы организуете свои пространства имен в MVC?

Вариант A

Идете ли вы по пути MS ASP.NET MVC с пространством имен Models, Controllers и Views?

Вариант B

Или вы разделяете каждую триаду MVC на ее логическую «функцию», например:

Функция A

  • FeatureAModel
  • FeatureAController
  • Типы
    • IFeatureAView (интерфейс - чтобы контроллер НЕ ссылался на конкретный вид)
  • Посмотреть
    • FeatureAView (бетон)

Мы можем видеть смысл обоих. Мне нравится Вариант B, так как он лучше структурирует мои проекты в студии - с первого взгляда я вижу, где все находится, так как он сгруппирован по Feature. Но вариант А дает нам более простой вариант масштабирования, если мы хотим переместить все наши модели в сервисный уровень в будущем, например.

Все мысли приветствуются!

Ответы [ 2 ]

1 голос
/ 05 февраля 2009

Я предпочитаю сочетание обоих в иерархии. Ваш вариант А - мой высший уровень, и внутри этой функции.

0 голосов
/ 07 февраля 2009

Лично я склоняюсь к идее держать все мои контроллеры в одном и том же пространстве имен, исключительно из-за того, что по умолчанию маршрутизация не поддерживает пространство имен.

Это означает, что если я попытаюсь присвоить моим контроллерам одинаковое имя, я получу ошибку времени компиляции, а не странную ошибку времени выполнения при маршрутизации.

В любом случае, было довольно много сообщений в блоге, которые вы можете найти в Google для получения дополнительной информации об этом.

Так что я бы сказал

Вариант A

...