Должен ли я использовать несколько сборок для изолированного веб-приложения ASP.NET?

StackOverflow https://stackoverflow.com/questions/58878

Вопрос

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

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

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

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

Я хотел знать, что думает сообщество.


Добавлю дополнительную информацию...

Я пишу это приложение, используя предварительную версию MVC 5, поэтому часть модульного тестирования будет поддерживаться разделением задач, унаследованным в рамках.Я люблю сдавать анализы на все!

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

Решение

Начните с самого простого и добавляйте сложность, если и когда это необходимо.Похоже, что для вашего случая подойдет одна сборка.Однако будьте осторожны, чтобы не нарушить работу слоев, предоставив слою A доступ к внутреннему элементу уровня B.Это затруднит позднее объединение слоев в отдельные сборки.

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

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

Если вы планируете проводить только пользовательские/ручные тесты или в основном использовать только тестирование, начиная с пользовательского интерфейса, то это не имеет особого значения.

С другой стороны, если вы планируете проводить модульное тестирование или проверку бизнес-правил, определенно имеет смысл разделить вашу работу на разные сборки.

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

Вам все равно следует логически разделить слои на соответствующие проекты.

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

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