Я работаю в приложении .net С#, которое содержит 2 решения для клиента и сервера. На стороне сервера есть еще 80 проектов, которые были использованы для разделения следующих архитектурных слоев,
- Уровень инфраструктуры
- Уровень интеграции (внешние системы)
- Уровень домена
- Уровень репозитория
- Уровень менеджера
- Уровень обслуживания
Кроме того, почти на каждом слое есть тестовый проект. Теперь время сборки решения занимает от 2 до 3 минут, и многие разработчики (включая меня:)) считают, что нам нужно решить эту проблему.
Поэтому предлагаемое решение заключалось в сокращении количества проектов путем слияния проектов. На мой взгляд, это, вероятно, хорошее решение для минимизации времени сборки, и мы могли бы достичь того, чего хотим.
Предлагаемое решение состоит в том, что мы объединяем наши проекты в 3 области, такие как одна библиотека для производственного кода, одна библиотека для тестового кода и одна для проектов развертывания (хост WCF и т.д.) и логически разделенные слои в одном проекте, Пространства имен.
Однако мои проблемы -
- Может ли такое разделение быть полезным для ремонтопригодности? при условии, что больше, чем hundread классов для каждого пространства имен пространства имен.
- Если у нас есть общие функции, такие как помощники, куда мы их помещаем?
Есть ли другой способ расслоения решения?