Вопрос

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

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

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

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

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

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

Решение

Обязательно у вас должна быть библиотека журналирования.И если вы собираетесь сделать это как «Правильно, насколько это возможно, с точки зрения дизайна» и ваш проект не тривиален, то у вас обязательно должно быть некоторое количество проектов.Дело в том, что мы понятия не имеем, над чем вы работаете, кроме того факта, что это веб-приложение.Именно сфера бизнеса часто определяет, насколько сложным должно быть ваше решение.

Другие советы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

YourProject.Web.Tests(тесты Watin)

YourProject.Web.Core.UnitTests(Модульные тесты)

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

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

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