2014-02-05 4 views
0

Я пишу отчет по трехуровневой архитектуре дизайна, фокусируясь на веб-приложении ASP.NET. В настоящее время у меня есть простой проект визуальных студийных веб-форм, и мне интересно, какой шаблон представляет собой простой WebForm (ASPX, ASPX.CS, ASPX.DESIGNER.CS), используя презентацию, например, ASP.NET MVC использует шаблон MVC?Архитектура и модели представления ASP.NET Web Forms

Кроме того, в трехслойной архитектуре, где размещены компоненты пользовательского управления (ASPX.CS)? нижний слой презентации или верхний слой BLL?

+0

Я думаю, что вы более усложнять и пытаюсь мешанина других конструкций вместе. ваш слой пользовательского интерфейса будет содержать пользовательские элементы управления (ascx, включая связанные с ним мухи), css, js, aspx-страницы, мастер-страницы, html-страницы и т. д. ... каждый файл ASPX будет иметь связанные с ним файлы (дизайнер и codebehind), которые все сидят в тот же слой. то у вас есть BLL - ваша бизнес-логика, которая не должна ничего знать о пользовательском интерфейсе, но может немного узнать о том, как получить доступ к DAL (Data layer). DAL не знает UI или BLL, но возвращает стандартный набор объектов контрактных данных. –

ответ

2

Веб-формы могут следовать шаблону MVC, все зависит от того, как вы реализуете свой дизайн. Web Forms дает вам свободу делать то, что вы хотите, но с большой силой приходит большая ответственность, и из-за этого вы видите много плохих веб-форм.

ASP.NET MVC в значительной степени заставляет вас следовать шаблону MVC, чтобы что-то сделать. Вам нужно попробовать до не следовать шаблону MVC.

1

ASP.NET Web Forms - это причина, по которой был разработан MVC. В частности, потому, что Web Forms не соответствует строгим правилам дизайна, и много раз было злоупотребление и плохой дизайн. Я был свидетелем из первых рук и написал несколько на ранней стадии своей карьеры.

Вы все еще можете использовать подобную архитектуру в своем проекте Web Forms. Вы можете создать отдельный слой объектов домена, отдельную бизнес-логику, отдельный доступ к данным и отдельный пользовательский интерфейс. Вы хотите ограничить свой код ASPX CS бизнес-логикой и объектами домена. Вы хотите, чтобы бизнес-логика и доступ к данным взаимодействовали. Вы также можете просто создать приложение MVC.

Это действительно хорошая книга для чтения на эту тему: Закономерности Профессионального ASP.NET Дизайна http://www.amazon.com/Professional-ASP-NET-Design-Patterns-Millett-ebook/dp/B0045JL68W/ref=pd_sim_kstore_2

+0

Да, это лучшая книга, которую я когда-либо читал по шаблонам проектирования. @OhLongJohnJohnson попытается прочитать шаблон MVP в этой книге, чтобы узнать ответ ур. – Ehsan

Смежные вопросы