Разработка структуры вэб-представительства
Чтобы оценить важность клиентских сценариев, можно просто отключить их в браузере и попробовать походить по Интернету. Как можно будет скоро убедиться, JavaScript работает практически на каждой странице и его цель – не только отображать посередь экрана рекламные ролики, но и, как изначально задумывалось, ускорить работу пользователя и сделать её более интересной.
Проблема сценариев – в слож
ности их написания. JavaScript в плане объектной реализации оставляет желать лучшего, а так как он ещё и нетипизирован, то приходится или помнить все свойства объектов, или лазить каждый раз в Интернет, так как autocomplete отсутствует.
К счастью, разработчики ASP.NET подумали о разработчиках, которые просто хотят что-то сделать, при этом затратив меньше времени и получив максимум отдачи.
В итоге каждый элемент управления ASP.NET, имеющий клиентское поведение, уже реализует это поведение и кроме некоторых исключений, нам вовсе не надо писать его руками, а достаточно задать декларативно. Так что JavaScript в ASP.NET носит скорее вспомогательный характер (впрочем, серьёзные приложения не обходятся без рукописных сценариев).
5. AJAX– AsynchroniousJavaScriptandXML
Нашумевшая технология AJAX сейчас используется повсеместно. Не неся ничего по сути нового с точки зрения именно технологий, она значительно повышает производительность и красоту сайта для глаза конечного пользователя. При помощи JavaScript на сервер отправляется запрос в формате XML, в формате же XML приходит ответ и JavaScript обновляет только нужную часть страницы, экономя трафик и избавляя от ожидания перезагрузки страницы.
В ASP.NET существует своя версия AJAX, построенная на встраиваемых в страницу элементах управления и очень простая в использовании.
6. BB-code
Во многих текстах есть смысл что-то выделить, что-то подчеркнуть и так далее. Удобным средством для этого является bb-code, позволяющий при помощи простых тегов, напоминающих HTML-разметку, без труда указать текст, подлежащий выделению. На сайте используется один из бесплатных.NET bb-code-парсеров.
7. MSSQLServer 2005 + T-SQL
Одним из наиболее изменяемых языков является язык запросов к СУБД SQL. Модификация для майкрософтовских серверов Transact-SQL обладает многим из того, чего очень хотелось, но не хватало раньше.
Язык включает в себя переменные, в том числе как скалярные, так и табличные, условные операторы, операторы циклов, возможность внутри SQL генерировать и исполнять другие SQL-команды и многое другое. Хотя в свете использования ORM это и не так уж важно, но всё же T-SQL – это значительный шаг вперёд.
Плюс ко всему исключительно удобным является инструментарий, который может быть использован при разработке с учётом этих технологий. По сути, нам требуется MS Visual Studio 2005, SQL Server Management Studio 2005, и… всё, если не считать Windows с предустановленным браузером. (Конечно, я ставил несколько браузеров для теста внешнего облика и работы сайта).
Принципы работы ASP.NET
Любой инструмент программирования – это не только набор правил и строк кода. В любой технологии заключено то зерно рациональности и смысла, которое делает её чем-то большим, нежели просто языком или способом разметки.
Никто не скажет, что знает, допустим, английский язык, если выучит словарь языка. Также нельзя говорить о полном владении технологии, если просто представляешь, как что-то написать, лишь бы работало.
ASP.NET 2.0 – мощный инструмент, выполненный логично и разумно. И для рационального использования его, как и практически каждого инструмента программирования, неплохо понимать, как он работает. И, кроме того, как предполагается с ним работать. Потому что как и каждый мощный язык, C# допускает вольности, но это не значит, что их нужно использовать к месту и не к месту.
Итак, обратимся к основным принципам ASP.NET 2.0. Чтобы не отходить от задач работы, сделаю на примере моего сайта.
Первое и главное – это извечное «разделяй и властвуй». Если код на разных языках находится в одном файле (т.н. спагетти-код), это может означать неудачный выбор инструмента, или неумение им пользоваться (разумные исключения, конечно, приветствуются, нет смысла из-за двух строк на JavaScript заводить отдельный js-файл).
В ASP.NET этот принцип реализован целиком и полностью. Весь код, который выполняется на сервере, лежит в отдельном от разметки страницы файле, именуемом codebehind-файлом. Этот код может быть написан на любом языке, более того, в одном проекте могут быть codebehind-файлы на разных.NET-совместимых языках (но это, вообще говоря, крайности).
Класс страницы, описанный в codebehind-файле, реагирует на определённые события, таким как запрос страницы с сервера, загрузка её, рендеринг содержимого, нажатия кнопок и т.п. Всё, что требуется – это написать в обработчиках этих событий нужный код на любимом языке. Это не просто удобно, это эстетично. И самое главное – это читается! Программист, сопровождающий код, не должен будет сталкиваться со смесью разметки и кода (Вспомнилась цитата про PHP-программиста, который в одном файле писал на шести языках: русском, английском, PHP, HTML, JavaScript и SQL. При использовании ASP.NET это не грозит.
Второе – это объектная ориентированность. Все страницы являются объектами своих классов. Важно, что элементы управления (кнопки, списки и т.п.) тоже являются объектами, и работа с ними соответственно упрощается. Серверному коду неинтересно, как они визуализируются браузером – каждый элемент управления уже умеет себя «рисовать»!
Третье – это компромисс между браузерами. Всем, кто работал с веб, известно, что компании-производители тянут одеяло на себя и разные браузеры воспроизводят одинаковую разметку по-разному. Элементы управления ASP.NET умеют генерировать различный код дл различных браузеров. А для создаваемых вами элементов существует возможность задать, допустим, две ширины, для браузеров ie и для браузеров mozilla.
Дальше идёт такая немаловажная вещь, как единообразие облика сайта. В лучших традициях объектно-ориентированного программирования дизайн страниц теперь наследуем и создав одну так называемую мастер-страницу, на остальных можно описывать только конкретные элементы, специфичные для данного раздела. Это достигается посредством размещения тегов <ContentPlaceHolder> на мастер-странице и <Content> на наследниках.
Пользовательские элементы управления также имеют файл с разметкой и файл серверного кода. Замечательны они тем, что могут вставляться в неограниченном количестве (а также создаваться динамически) на любых страницах.
Более глубокий объектно-ориентированный подход, применяемый мной на сайте, использует модель MVP (Model-View-Presenter), которая позволяет ещё сильнее разделить логику приложения. При обзоре взаимодействия компонентов на это будет обращено внимание.
1.2.3 Проектирование архитектуры сайта
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности