Библиотека классов Project VS App_Code - плюсы и минусы? - PullRequest
5 голосов
/ 17 февраля 2010

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

Однако я подумывал о том, чтобы переключиться на проект библиотеки классов внутри моего решения вместо папки App_Code. Может кто-нибудь сказать мне плюсы и минусы этого?

Одна мысль, которая у меня возникла, касалась тестирования моего веб-приложения. Если я использую библиотеку классов, нужно ли мне скомпилировать ее каждый раз, когда я хочу настроить / проверить? Очевидно, что в папке App_Code мне это не нужно, поскольку все классы компилируются во время выполнения.

Ответы [ 2 ]

6 голосов
/ 17 февраля 2010

Вы должны использовать библиотеку классов. Причины просты.

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

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

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

0 голосов
/ 17 февраля 2010

Джимми Богард (автор Automapper) написал превосходную статью о том, как он структурирует свой код, что может помочь в подтверждении ответа @ David.

...