Решение: для каждого приложения или набора приложений - PullRequest
17 голосов
/ 14 октября 2008

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

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

Ответы [ 2 ]

26 голосов
/ 14 октября 2008

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

  1. Модель с одним решением (предпочтительно)
  2. Модель с секционированным одиночным решением
  3. Модель с несколькими решениями (только в случае крайней необходимости)

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

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

Если приложения в наборе маленькие и быстро собираются (например, набор инструментов командной строки), я могу даже не создавать отдельные файлы решения. Это действительно суждение, которое мы не можем сделать для вас. :)

5 голосов
/ 14 октября 2008

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

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