Вопрос

В обычных решениях winforms, как вы решаете разбивать классы на разные каталоги / пространства имен или отдельные проекты. Помимо двоичных зависимостей, которые должны отображаться, контроллеры, модели все находятся в разных проектах?

Это было полезно?

Решение

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

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

Что касается того, на какие папки их разбивать, я бы, скорее всего, следовал соглашениям, которые можно найти в веб-структурах mvp / mvc, таких как.

Controllers\
Views\
  Broken down by controller
Model\

Возможно, вы захотите прочитать это сообщение в блоге на эту тему. Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top