У этого подхода есть как и плюсы, так и минусы (-): Потребность в большем количестве инструментов для разработки Потребность в большем количестве специфичных знаний (преобразование данных) Больше временных затрат на разработку Больше шансов появления ошибок на стыке слоев (+): Получение кода, который проще сопровождать Отделение дизайна от бизнес-логики Разделение труда Исходя из этого можно сказать что такой подход следует применять лишь в тех проектах, которые рассчитаны на срок разработки более одного месяца, а так же при наличии команды разработчиков. В противном случае затраты на каждый из слоев превысят плюсы от использования такого подхода.
Основы ASP. NET 2. 0 Что такое ASP. NET
Инсталляция и тестовый проект Microsoft. NET Framework — это платформа для создания, развертывания и запуска webсервисов и приложений. ASP. NET — это часть технологии. NET, используемая для написания мощных клиентсерверных интернет-приложений. Она позволяет создавать динамические страницы HTML.
Что такое динамические страницы HTML и чем они отличаются от статических? Динамическое наполнение страницы — это информация, которая отличается от просмотра к просмотру и содержание которой зависит от того, кому она предназначена. Такое наполнение позволяет обеспечить двусторонний обмен информацией — от клиента к серверу и обратно.
Мы хотим отобразить на странице текущий курс евро или прогноз погоды? Динамическими принято называть web-страницы, которые перед отправкой клиенту проходят цикл обработки на сервере. В самом простом случае это может быть некоторая программа, которая модифицирует запрашиваемые клиентом статические страницы, используя параметры полученного запроса и некоторое хранилище данных. Даже при такой примитивной организации "неразрешимая" задача обретает очевидное решение: достаточно подготовить всего одну статическую страницу — шаблон — и перед отправкой страницы программно подставлять в него значение, полученное сегодня из банка или метеобюро.
Скриптовые языки VS клиент-серверные языки Существуют языки, способные динамически изменять содержимое web-страницы. Это языки скриптов, выполняющиеся непосредственно у клиента. Примеры скриптовых языков — Java. Script и VBScript.
Отличие от «скриптовых» языков На сервере находятся исполняемые файлы программ, написанных, например, на C/С++ или Delphi, которые по протоколу HTTP принимают данные из входного потока или из переменных окружения и записывают в стандартный выходной поток готовую страницу.
Скриптовые языки, исполняющиеся на стороне сервера, — php, jsp и asp. Добро или зло!?
<% Dim i; for i=1 to 5 Response. Write("Этот код генерирует ASP!") next i; %>
Технология php, jsp и asp ограничены по своим возможностям. Они использовали скриптовые языки, которые имеют меньше возможностей, чем полнофункциональные языки программирования. Код был встроен в HTML в виде специальных тегов, что создавало путаницу. Кусочки были разбросаны по нему, как изюм в булке. HTML-код обычно создают дизайнеры, которые умеют "делать красиво", а программисты заставляют все это работать. В ASP. NET вы можете держать програмный код и HTML в разных файлах.
ASP. NET — это не продолжение ASP В ASP. NET используются компилируемые языки. Во время компиляции проверяется синтаксическая корректность исходного текста. Скомпилированный в промежуточный язык код выполняется быстрее. Компиляция происходит на сервере в момент первого обращения пользователя к странице. Если программист изменил текст страницы, программа перекомпилируется автоматически.
ASP. NET — это технология, а не язык ASP. NET позволяет программировать на разных языках — С#, Visual Basic, J#. "В платформе. NET все языки равны, но некоторые — равнее" (Дж. Оруэлл). Вот таким языком и является С#, потому что он был специально создан для этой платформы. Программирование C# позволяет в полной мере использовать концепции, методы и паттерны объектно-ориентированной разработки
Процесс инсталляции ASP. NET 2. 0 можно установить на компьютерах с ОС Windows 2000 с Service Pack 4, Windows XP с Service Pack 2 и более поздними версиями Windows. Готовые сайты предпочтительно устанавливать на Windows Server 2003.
Бесплатно распространяемое программное обеспечение Visual Web Developer 2005 Express Edition — свободно распространяемая среда, предназначенная для новичков и студентов. Список отличий VWD от Visual Studio. NET 2005 невелик и для начинающих несущественен. В качестве среды разработки вы можете выбрать Web. Matrix. Эта программа совмещает в себе редактор и HTTP-сервер.
Первый проект В начале решите, в какой директории будете создавать страницы. Все файлы, находящиеся в одной директории, считаются единым проектом. Запустите выбранную вами среду разработки. Выберите пункт меню File-New-Website. Появится диалоговое окно. Назначьте в нем имя проекта и выберите язык программирования С#.
В проекте будет создана страница default. aspx. <%@ Page Language="C#" Auto. Event. Wireup="true"; Code. File="Default. aspx. cs" Inherits="_Default" %>
Тег <% всегда предназначается для интерпретации ASP-кода." src="https://present5.com/presentation/95074437_165119116/image-19.jpg" alt="Разберем эту страницу <%@ Page Language="C#" %> Тег <% всегда предназначается для интерпретации ASP-кода." />
Разберем эту страницу <%@ Page Language="C#" %> Тег <% всегда предназначается для интерпретации ASP-кода. Директива Page всегда присутствует на странице aspx. Ее атрибут Language — это указание, что в скриптах данной страницы будет использоваться C#, а могли бы VB, C++ или J#. Code. File — имя файла с отделенным кодом (codebehind). Inherits — класс, определенный в том файле, от которого наследуется класс страницы.
Одновременно будет создан и файл Default. aspx. cs. Это технология разделения кода, о которой мы уже говорили. Сама форма находится в файле Default. aspx, а в файле Default. aspx. cs находится класс страницы на языке C#. Таким образом, дизайн страницы может быть изменен не затрагивая кода страницы, что позволяет разделить ответственность за внешний вид и работу страницы между дизайнером и программистом.
Этот тег дает указание компилятору обрабатывать элементы управления страницы. Обратите внимание на" src="https://present5.com/presentation/95074437_165119116/image-21.jpg" alt="
Label Вставьте в Default. aspx между тегами и тег, задающий элемент управления.
В файле Default. aspx. cs должен содержаться такой текст: using System; . . . public partial class _Default : System. Web. UI. Page { protected void Page_Load(object sender, Event. Args e) { } } Вставьте в эту функцию строчку Time. Text+=Date. Time. Now. To. String();
System. Date. Time класс. NET Framework. Здесь мы используем этот класс, как в любой программе на C#. Следовательно, любой класс. NET доступен и в локальных, и в распределенных приложениях. System. Web. UI. Page класс, базовый для всех страниц ASP. NET. Если вы работаете с Web. Matrix, вставьте его самостоятельно между тегами файла default. aspx.
protected void Page_Load(object sender, Event. Args e) Page_Load похож на обычный обработчик события формы. Как можно легко догадаться, эта функция вызывается каждый раз, когда загружается форма.
HTML код страници Запустите страницу на просмотр кнопкой F 5 или нажав на кнопку со стрелкой на панели инструментов. В браузере должна открыться страница, на которой будет написано текущее время. Откройте исходный текст страницы. Никакого кода на С# или элементов управления ASP. NET там не будет: