Решение C # - Сколько проектов? - PullRequest
3 голосов
/ 30 марта 2010

Я немного погуглил, но не смог найти хорошего результата.

Прямо сейчас я создаю веб-сайт и пытаюсь сделать его как можно более правильным с точки зрения дизайна с самого начала.

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

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

Любые советы приветствуются:)

Ответы [ 6 ]

3 голосов
/ 30 марта 2010

Я бы выбрал трехуровневую архитектуру для небольшого проекта.

Это будет включать:

  1. Прикладной уровень
  2. Бизнес-уровень
  3. Уровень данных

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

3 голосов
/ 30 марта 2010

Абсолютно у вас должна быть библиотека журналов. И если вы собираетесь сделать это как 'как можно более правильным с точки зрения дизайна' и ваш проект будет менее тривиальным, то вам определенно нужно иметь некоторое количество проектов. Дело в том, что мы понятия не имеем, над чем вы работаете, кроме того, что это веб-приложение. Именно домен biz часто определяет, насколько сложным должно быть ваше решение.

1 голос
/ 30 марта 2010

Поместить запись в отдельный проект - это прекрасно. Однако это действительно зависит от масштаба вашего проекта. Обычно я настраиваю свой проект следующим образом

YourProject.Web (веб-проект)

YourProject.Core (вся бизнес-логика)

YourProject.Web.Tests (тесты Ватина)

YourProject.Web.Core.UnitTests (юнит-тесты)

YourProject.Web.Core.IntegrationTests (интеграционные тесты)

Я предлагаю вам скачать проект с открытым исходным кодом с asp.net , чтобы увидеть, как проект был организован.

1 голос
/ 30 марта 2010

«То, что меняется вместе, должно быть упаковано вместе», я забыл, откуда взялась эта инструкция (может быть, Code Complete?).

Другими словами, ваши сборки (проекты) должны представлять согласованную абстракцию так же, как ваши классы / объекты на более низком уровне.

Так что да, отдельный проект ведения журнала - это правильный путь (хотя проверьте log4net или блок ведения журнала Microsoft, прежде чем создавать свой собственный!)

1 голос
/ 30 марта 2010

У нас есть решение с 200+ проектами. Недостатком является длительное время загрузки в Visual Studio. Но после этого единственная проблема - убедиться, что у вас достаточно оперативной памяти.

Кроме того, MSBuild.exe имеет встроенную поддержку файлов SLN, поэтому при использовании автоматических сборок используйте ее вместо Visual Studio.

1 голос
/ 30 марта 2010

В любом случае будет работать, если вас беспокоит ограничение проекта в решениях. Не будь.

Я бы сам поставил его в отдельный проект или в служебный проект.

...