Лекция № 7. Типовые решения в WEB.

advertisement
Лекция № 7.
Типовые решения в WEB.
Представления в WEB.
Основные типовые решения.
Представление по шаблону (Template
View).
 Представление с преобразованием
(Transform View).
 Двухэтапное представление (Two Step
View).

Представление данных в WEB.
Представление по шаблону (Template View)
Преобразует результаты выполнения запроса в формат HTML
путем внедрения маркеров в HTML-страницу
Модель
Book
Author
Вспомогательный объект
getTitle()
getAuthor()
<HTML> <P> <B>
<jsp: getProperty name "BookHelper"
property="title" /> </B>
<BR>
Author:
<jsp: getProperty name "BookHelper
"property="author" /> </B>
</P>
<HTML>
Представление по шаблону (Template View)
Принцип действия.
Основная идеи:
1. Вставка специальных маркеров в текст готовой
статической HTML-страницы.
2. При вызове страницы эти маркеры заменяются
результатами некоторой обработки
3. Подобная схема позволяет использовать редакторы,
работающие по принципу WYSIWYG, и не требует знания
программирования.
4. Для получения дополнительной информации
программы, обрабатывающие маркеры, обращаются, к
внешним источникам.
Представление по шаблону (Template View)
Вставка маркеров. Способы.
Использование HTML-подобных дескрипторов. Этот
способ хорошо подходит для редакторов, работающих по
принципу WYSIWYG, так как они распознают элементы в
<>, как специальное содержимое и обрабатываю его
особым образом.
2. Вставка маркеров в тело страницы. В этом случае
WYSIWYG редакторы воспринимают маркеры как текст и
на этапе разработки дизайна все ок. В некоторых средах
разработки набор таких маркеров предопределен заранее,
но в большинстве случаев можно определять свои
собственные маркеры и дескрипторы и вперед.
1.
Представление по шаблону (Template View)
Проблемы скриптлетов (scriptles).
Одна из наиболее популярных форм представления
по шаблону – это страницы сервера (server page) ASP,
JSP, PHP, CSP и т. д. и т.п.
С другой стороны технология серверных страниц – это
несколько больше чем представление по шаблону.
Серверные страницы позволяют внедрять в страницу
элементы программной логики, которые называют
скриптлетами (scriptles). Недостатки:
 это уже КОД,
 страница не самое хорошее место для размешения
кода программы,
 самое страшное – это перемешивание слоев
корпоративного приложения.
Представление по шаблону (Template View)
Проблемы скриптлетов - вспомогательный объект.
Стандартное решение проблемы – это вспомогательный
объект. Этот объект содержит в себе фактическую логику
домена, а сама страница – только вызовы операций
вспомогательного объекта. Преимущества такого подхода:
 Упрощение структуры страницы
 Разделение труда на этапе разработки
 Высокая степень согласованности страницы.


Проблемы:
Условное отображение
Итерации.
Представление по шаблону (Template View).
Назначение
Представление по шаблону и представление с
преобразованием основные альтернативы для
реализации представления в системе модель вид- контроллер.
Основное преимущество этого типового решения
состоит в том, что оно позволяет разрабатывать
представления раздельно от логики домена при
этом оформлять их в соответствии со структурой
страницы.
Недостатки:
1. Проблема переполнения страницы логикой.
2. Сложность тестирования.
Ну и вспоминаем, что существует альтернатива в
виде двухэтапного преобразования.
Представления в WEB.
Пример одноэтапного представления.
"создать"
Данные объекта
Представление объекта
HTML-код объекта
Пример двухэтапного представления.
"создать"
Данные объекта
Первый этап объекта
Логический вид объекта
"создать"
HTML код объекта
Второй этап объекта
Представление данных в WEB.
Представление с преобразованием (Transform View)
Представление, которое поочередно обрабатывает
элементы данных домена и преобразует их в код HTML
Модель
Artist
Album
Считывает
Преобразователь
Создает
HTML
transformAlbum()
transformArtist()
Представление с преобразованием (Transform View).
Принцип действия.
Идея: Создается программа, которая просматривает
данные домена и преобразует их в код HTML. В процессе
выполнения она последовательно проходит по структуре
данных домена и, при обнаружении нового фрагмента
данных, создает их описание в формате HTML.
Основное отличие от представления по шаблону
заключается в способе организации представления.
Представление по шаблону организовано с учетом
размещения выходных данных. Представление с
преобразованием ориентированно на использование
отдельных преобразований для каждого вида входных
данных.
Представление с преобразованием (Transform View).
Назначение.
Выбор между способом построения представлений в большей
степени зависит от выбора среды, которую предпочитает
команда, занимающаяся разработкой представлений.
Ключевой момент наличие соответствующих средств. В этом
плане у представления по шаблону имеется некоторые
преимущества …
Тем не менее достоинства, представления с
преобразованием:
1. Хорошая переносимость практически на все платформы.
2. Преобразование сразу направлено на визуализацию данных в
формате HTML и никакой логики на стороне страницы
изначально нет
3. Такое представление легче тестировать, по сути применение
таблицы стилей не требует даже наличия работающего WEBсервера.
4. Легкость и гибкость внесения изменений во внешний вид
сайта.
Представление с преобразованием (Transform View).
Принцип действия.
Преобразованиями управляет нечто наподобие простого
цикла, который поочередно просматривает каждый
входной элемент, подбирает для него преобразование и
применяет это преобразование.
Представление с преобразованием может быть написано
на любом языке (в принципе), на практике в настоящий
момент стандарт де-факто использование связки:
 XML – для описания логики данных домена,
 XSTL – для непосредственного выполнения
преобразования.
Проблема генерации кода XML …
Представление данных в WEB.
Двухэтапное представление (Two Step View)
Выполняет визуализацию данных домена в два этапа: вначале
формируется некоторое подобие логической страницы, затем
логическая страница преобразуется в формат HTML.
Album
artist : Artist
1
Screen
renderAlbum()
renderArtist()
artist : Field
2
renderScreen()
renderField()
HTML
Двухэтапное представление (Two Step View).
Принцип действия.
Идея: Преобразование данный в формат HTML выполняется в два этапа.
1.
Информация, полученная от модели, организуется в некоторую
логическую структуру, которая описывает визуальные элементы
будущего отображения, но не содержит кода HTML.
Эта самая промежуточная структура есть некоторое подобие логического
«экрана». Ее элементами могут быть: поля ввода, колонтитулы, таблицы,
переключатели и т.д. Ее, в принципе, можно назвать – моделью
представления. Наличие такой модели просто заставляет будущие
страницы сайта следовать одному стилю. Для большей наглядности
можно представить модель представления как систему, которая
определяет элементы управления страницы и данные, которые в эти
элементы пихаются, но не описывает их внешний вид с помощью HTML.
2. Логическая структура преобразуется в код HTML. Операции,
задействованные на втором этапе «знают», какие элементы могут быть в
логической структуре и как визуализировать эти элементы. Таким
образом, система со множеством экранов-страниц, может быть
преобразована в HTML путем единственного прохождения второго этапа,
благодаря этому решение о преобразовании в HTML принимается в
единственном месте.
Все это возможно при соблюдении одного условия – логические экраны
компонуются по единому принципу.
Download