2014-01-22 16 views
0

Я начинаю проект в asp.net. Я хочу использовать трехслойную архитектуру. теперь у меня проблема со слоями. Я управлять этими слоями, как это:3 уровня архитектуры в asp.net

enter image description here

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

+1

Это не о вашем вопросе, но есть хорошая статья о том, что: http://imar.spaanjaars.com/573/aspnet-n-layered-applications-introduction-part-1 –

ответ

4

App_Code - специальная папка ASP.NET, используемая веб-сайтами ASP.NET. Он не используется прекомпилированными приложениями ASP.NET. Вы можете узнать больше о различиях между ними в this article. Поэтому, если пользовательский интерфейс является веб-сайтом ASP.NET, вы можете использовать папку App_Code, чтобы поместить некоторую логику, хотя это лучше подходит для внешних библиотек, как в вашем текущем проекте. Это позволяет лучше тестировать этот код и повторное использование.

+0

вы имеете в виду мой дизайн делают не проблема и 3-слойный тоже? –

+1

Да, но это относительно. Я имею в виду тот факт, что вы разделили их на 3 проекта. У вас могло бы быть одно приложение ASP.NET и сделать это разделение внутри -> используя, например, пространства имен, ... У вас все равно была бы 3-уровневая архитектура. Но обычно лучше разделить слои в разных сборках. –

-1

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

-1

Теперь-дни я вижу этот стандарту много:

ProjectName 
-ProjectName.Core (All poco classes and interfaces) 
-ProjectName.Data (All entity framework stuff) 
-ProjectName.Service (All business logic) 
-ProjectName.Web (All font end logic) 
  • «Core» является ссылкой во всех проектах, перемещать данные.
  • Данные «Данные» указаны только в «Сервис».
  • «Сервис» ссылается только на «Интернет».