Технология разделения кода

Основа всего в Web-приложении – это страница (Page). Пользователь, используя браузер, перемещается между страницами, возвращаясь иногда к уже просмотренным страницам, вводит какие-то данные в HTML формы и получает некоторый результат. В ASP.NET страница чаще всего представляет собой Web-форму, содержащую различные элементы управления, реагирующую на события, создаваемые пользователем.

ASP.NET 1.x позволяет разделять код логики от кода представления, то есть помещать код программной логики страницы в .cs или .vb файл, отдельно от кода собственно страницы, размещаемого в .aspx файле. Эта технология называется Code-Behind. Таким образом, дизайн страницы может быть изменен, не затрагивая код страницы, что позволяет разделить ответственность за внешний вид и работу страницы между дизайнером и программистом. Для этого в .aspx файле можно задать параметры директивы Page.

Для поддержки редактирования с помощью VS .NET в ASP.NET странице необходимо указать класс, соответствующей данной странице, и файл, в котором находится код этого класса. Для этого директива Page преобразуется с использованием ключевых слов Codebenind и Inherits.

В ASP.NET 2.0 странице используется иной механизм разделения кода. В директиве Page при этом необходимо использовать другие ключевые слова: CodeFile и Inherits.

В этом случае код класса программной логики страницы будет размещен в файле указанном в атрибуте CodeFile. Надо отметить, что VS использует разделяемые классы (partial classes).

public partial class Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e){}

}

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

Используемая в VS 2003 модель Code-Behind обладает несколькими весьма существенными недостатками. Прежде всего, используя VS разработчику необходимо компилировать проект перед публикацией, поскольку ASP.NET компилирует страницы, только если указан атрибут Src, не используемый VS. При этом, поскольку среда ASP.NET обнаруживает изменение даты создания сборки, после каждой замены старой сборки в каталоге bin происходит перезапуск домена приложения, что выливается во временную "заторможенность" в работе приложения.



VS использует новые ключевые слова, поддерживаемые средой выполнения ASP.NET 2.0, а среда выполнения, в свою очередь, использует новую технику компиляции страниц. Это позволяет решить проблему замены сборки на более новую.

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


3953258555498411.html
3953311155333242.html

3953258555498411.html
3953311155333242.html
    PR.RU™