Без темы
<<  Типовые ошибки при написании заявок на получение финансирования Товары для уборки дома SCOTCH-BRITE  >>
Лекция № 6. Типовые решения в WEB
Лекция № 6. Типовые решения в WEB
Типовые решения в WEB -приложениях
Типовые решения в WEB -приложениях
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Модель-вид-контролер (Model-View-Controller)
Представление данных в WEB
Представление данных в WEB
Контроллер страницы (Page Controller)
Контроллер страницы (Page Controller)
Контроллер страницы (Page Controller)
Контроллер страницы (Page Controller)
Контроллер страницы (Page Controller)
Контроллер страницы (Page Controller)
Представление данных в WEB
Представление данных в WEB
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)
Контроллер запросов (Front Controller)

Презентация на тему: «Типовые решения в WEB». Автор: zmeyev oa. Файл: «Типовые решения в WEB.ppt». Размер zip-архива: 223 КБ.

Типовые решения в WEB

содержание презентации «Типовые решения в WEB.ppt»
СлайдТекст
1 Лекция № 6. Типовые решения в WEB

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

2 Типовые решения в WEB -приложениях

Типовые решения в WEB -приложениях

Модель-вид-контролер (Model-View-Controller)

Распределяет обработку взаимодействия с пользовательским интерфейсом между тремя участниками.

Первоначально это типовое решение появилось в конце 70-х годов в качестве инфраструктуры для языка Smalltalk. Автором решения является Тригве Реенскауг (Trigve Reenskaug)

3 Модель-вид-контролер (Model-View-Controller)

Модель-вид-контролер (Model-View-Controller)

Принцип действия

В рамках этого типового решения подразумевается выделение трех отдельных ролей: Модель – это объект, представляющий некоторую информацию о предметной области. В ООП наиболее «чистой» формой модели является объект модели предметной области. В качестве модели можно рассматривать и сценарий транзакции, и модуль таблицы , если они не содержат НИКАКОЙ логики, связанной с пользовательским интерфейсом.

4 Модель-вид-контролер (Model-View-Controller)

Модель-вид-контролер (Model-View-Controller)

Принцип действия

Вид (представление) отображает содержимое модели средствами графического интерфейса. Функции вида заключаются ТОЛЬКО в отображении информации на экране. Контроллер обрабатывает ВСЕ изменения информации. Именно контроллер получает входные данные от актера, выполняет операции над моделью и оповещает виды об необходимости соответствующего обновления. В этом плане: Графический интерфейс = виды + контроллер.

5 Модель-вид-контролер (Model-View-Controller)

Модель-вид-контролер (Model-View-Controller)

Принцип действия. Принципиальные разделения

Отделение вида от модели. Важно, так как: Вид и модель относятся к совершенно разным сферам разработки ПО. Разрабатывая вид – мы думаем о том, как сделать работу актера наиболее удобной. При работе над моделью основное внимание сосредоточено на бизнес-правилах и, возможно, на механизмах взаимодействия с уровнем постоянного хранения данных. Заметим, во-первых, для разработки этих классов применяются разный АБСОЛЮТНО разные библиотеки. А, во-вторых, в настоящий момент увы разработчики обычно специализируются ТОЛЬКО в одной из этих областей.

6 Модель-вид-контролер (Model-View-Controller)

Модель-вид-контролер (Model-View-Controller)

Принцип действия. Принципиальные разделения

Обычно в рамках одного и того же приложения, в зависимости от ситуации, одна и та же информация должна отображаться РАЗНЫМИ способами. Если разделить вид и модель, то можно спокойно разрабатывать для одного и того же класса модели несколько видов, точнее несколько разных (иногда АБСОЛЮТНО разных) интерфейсов. Объекты без визуального интерфейса просто напросто легче тестировать, чем объекты с интерфейсом. Без представлений можно легко оттестировать ВСЮ логику домена обычными сценариями … В качестве альтернативы попробуйте написать сценарии для логики с интерфейсом.

7 Модель-вид-контролер (Model-View-Controller)

Модель-вид-контролер (Model-View-Controller)

Принцип действия. Принципиальные разделения

Ключевой момент этого разделения – НАПРАВЛЕНИЕ зависимости: виды зависят от модели, а вот модель не зависит от своих видов. Разработчики представления не должны заботиться о том какие виды будут использоваться. Плюсы: Модель намного проще разрабатывать, Можно легко добавлять новые виды и менять старые. Минусы: проблема с толстым клиентом и MDI-интерфейсом (или его аналогом). Окон-видов может быть МНОГО и на экране одновременно могут находиться несколько видов одной и той же модели. Актер меняет модель в рамках одного вида нужно отображать эти изменения в других видах, а модель не подозревает об их существовании. Чтобы избежать в этом случае двунаправленной зависимости используется типовое решение Observer. Виды будут «наблюдателями» за моделью.

8 Модель-вид-контролер (Model-View-Controller)

Модель-вид-контролер (Model-View-Controller)

Принцип действия. Принципиальные разделения

Отделение контроллера от вида. Не сильно важно, но: Классический пример: Необходимо поддерживать редактируемое и нередактируемое поведение для одного вида. Это можно сделать, если для одного вида определить пару контроллеров-стратегий, которые и будут использоваться видом. Необходимость этого разделения весьма полезна именно в WEB приложениях, в приложениях с толстым GUI интерфейсом такое деление обычно не проводится.

9 Представление данных в WEB

Представление данных в WEB

Контроллер страницы (Page Controller)

Объект, который инкапсулирует запрос к конкретной Web-странице или выполнение конкретного действия на Web-сайте.

Предоставляет логику домена

Обрабатывает адрес URL и извлекает из него входные данные, Выбирает модель и представление

Отображает HTML код

10 Контроллер страницы (Page Controller)

Контроллер страницы (Page Controller)

Принцип действия.

Идея: Создается компонент, который играет роль контроллера для каждой страницы Web-сайта. Теоретически каждой странице свой контроллер, практически не странице, а каждому действию. Контроллер страницы может быть реализован в виде сценария (сценария CGI, сервлета и т.д.) или серверной страницы (ASP, JSP, PHP и т.д.) Во втором случае обычно получается, что в рамках одной серверной страницы необходимо использовать представление по шаблону и контроллер страницы. Это не есть хорошо. Возможные решения проблемы: вспомогательные объект, реализация обработчика и контроллера в виде сценария. Контроллер страниц необязательно должен быть ОДНИМ классом.

11 Контроллер страницы (Page Controller)

Контроллер страницы (Page Controller)

Принцип действия.

Основные обязанности контроллер страниц: проанализировать адрес URL и извлечь данные, которые актер вводил в соответствующие формы, чтобы собрать все сведения необходимые для выполнения действий. Создать объекты модели и вызвать их методы, необходимые для обработки данных. Все нужные данные из HTTP-запроса должны быть переданы модели, чтобы ее объекты были ПОЛНОСТЬЮ независимы от самого запроса. Определить представление, которое должно быть использовано для представления результатов, и передать ему необходимую информацию, полученную от модели.

12 Контроллер страницы (Page Controller)

Контроллер страницы (Page Controller)

Принцип действия.

Обратите внимание: одни адреса URL можно обрабатывать с помощью серверных страниц, а другое с помощью сценариев. Если логики контроллера практически нет, то вполне сойдет просто серверная страница, а если много … то сценарий. Назначение: Выбор способа обработки запросов: контроллер страниц или контроллер запросов? более прост в работе. представляет собой естественный способ структуризации (одна страница/ одно действие) один контролер. хорош для сайтов с простой логикой контроллера. Простые страницы обрабатываются с помощью серверных страниц, более сложные с помощью вспомогательных объектов.

13 Представление данных в WEB

Представление данных в WEB

Контроллер запросов (Front Controller)

Контроллер, который обрабатывает все запросы к Web-сайту.

14 Контроллер запросов (Front Controller)

Контроллер запросов (Front Controller)

Принцип действия.

Идея: Контроллер запросов обрабатывает все запросы, поступающие на Web-сайт, распределяя их выполнение посредством единственного объекта обработчика. Этот класс реализует общее поведение, которое может быть изменено динамически с помощью декораторов . И, чаще всего, состоит из двух частей: Web-обработчик – это объект, который выполняет фактическое получение POST или GET запросов , поступивших на Web-сервер. Он извлекает всю необходимую информацию из адреса URL и входных данных запроса, после чего решает какое действие необходимо инициировать и задействует вторую часть. Иерархия команд.

15 Контроллер запросов (Front Controller)

Контроллер запросов (Front Controller)

Принцип действия.

16 Контроллер запросов (Front Controller)

Контроллер запросов (Front Controller)

Принцип действия.

Web-обработчик реализуется в виде класса, а не страницы сервера, так как он не генерирует никаких откликов. Команды также являются классами, а не страницами сервера. Более того они могут не знать о наличии web-окружения, хотя они получают параметры HTTP. Выбор команды можно делать статически или динамически. Преимущества статики – использование явного кода, проверки времени компиляции и высокая гибкость написания адресов. Динамический позволяет добавлять новые команды не меняя кода, можно передавать имя команды в качестве параметра или через файл настроек.

17 Контроллер запросов (Front Controller)

Контроллер запросов (Front Controller)

Назначение.

Web-сервер настраивается ТОЛЬКО на один контроллер запросов, что значительно упрощает конфигурирование. Динамическое добавление команд без каких-либо изменений и переносимость. Поведение контроллера можно легко менять динамически, если использовать декораторы. Последнее в принципе оба решения по написанию контроллеров не конкуренты, т.е. можно в одном приложении использовать ОБА, там где нужно.

«Типовые решения в WEB»
http://900igr.net/prezentacija/ekonomika/tipovye-reshenija-v-web-83647.html
cсылка на страницу

Без темы

757 презентаций
Урок

Экономика

125 тем
Слайды