N-Layered ASP.NET Application: одна библиотека классов для всех моих слоев или одна библиотека классов для каждого слоя? - PullRequest
3 голосов
/ 03 марта 2011

N-Layered ASP.NET Application: одна библиотека классов для всех моих слоев или одна библиотека классов для каждого слоя?

Ответы [ 5 ]

2 голосов
/ 03 марта 2011

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

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

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

1 голос
/ 03 марта 2011
0 голосов
/ 03 марта 2011

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

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

0 голосов
/ 03 марта 2011

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

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

0 голосов
/ 03 марта 2011

Я бы пошел для библиотеки классов для каждого слоя.Таким образом, вы можете использовать библиотеки в других проектах.Также это даст вам больше гибкости ...

...