Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_IP.doc
Скачиваний:
42
Добавлен:
19.03.2016
Размер:
625.15 Кб
Скачать

3. Web-приложение. Шаблон проектирования «Модель-Представление-Контроллер».

Шаблон проектирования (Design Pattern) — архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Традиционно в ООП показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться.

Model-View-Controller. Шаблон проектирования MVC предполагает разделение данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: Модель, Представление и Контроллер — таким образом, что модификация каждого компонента может осуществляться независимо. Впервые этот шаблон был применён в фреймворке, разрабатываемом для языка Smalltalk в конце 1970-х годов. С этого момента он играет основополагающую роль в большинстве фреймфорков с пользовательским интерфейсом. Он в корне изменил взгляд на проектирование приложений.

Модель — это отражение реальности, учитывающее необходимые для решения поставленной задачи свойства. Модель включает логику решения основной задачи (бизнес-логику):

●сохранение, удаление, обновление данных приложения (CRUD или внешние веб-сервисы);

●инкапсуляция всей логики приложения (необходимо избегать «толстых» контроллеров, т. е. нельзя часть бизнес-логики выносить в контроллер или представление).

CRUD — Сreate, Read, Update, Delete.

Модель Описывает данные и управление ими и нередко называется также бизнес-логикой прикладной программы, т.е. самой ее сердцевиной. Представление Описывает то, что пользователь видит и с чем он может взаимодействовать в прикладной программе. Контроллер Служит в качестве посредника между моделью и представлением. Основным механизмом реализующим View-часть шаблона (но не тождественным!) является шаблонизатор (TemplateEngine).

Взаимодействие элементов MVC Каждый элемент в шаблоне MVC общается с остальными весьма специфичными способами. Коммуницирование реализуется последовательностью событий, которые обычно запускаются взаимодействием пользователя с приложением. Последовательность событий выглядит так:

  1. Пользователь взаимодействует с элементом интерфейса (например, нажимает на кнопку в Представлении).

  2. Представление отсылает событие нажатия Контроллеру, чтобы решить, как это нажатие обработать.

  3. Контроллер меняет Модель на основе того, что он решил относительно нажатия кнопки.

  4. Модель информирует Представление о том, что состояние Модели изменилось.

  5. Представление читает информацию о состоянии в Модели и самостоятельно видоизменяется.

4. Web-приложение. Шаблонизатор.

Шаблонизатор (в web) — это программное обеспечение, позволяющее использовать html-шаблоныдля генерации конечныхhtml-страниц. Основная цель использования шаблонизаторов — это отделение представления данных от исполняемого кода. Часто это необходимо для обеспечения возможности параллельной работы программиста и дизайнера-верстальщика. Использование шаблонизаторов часто улучшает читаемость кода и внесение изменений во внешний вид, когда проект целиком выполняет один человек.

Использование шаблонизаторов часто отождествляют с парадигмой MVC. Эти понятия связаны, но не тождественны.

Суть шаблонизации заключается в том, чтобы отделить каркас страницы от программного кода. Каркас страницы помещается в отдельный текстовый файл (шаблон), в местах, где необходимо вывести данные размещаются специальные псевдопеременные. Сценарий загружает нужный шаблон, заменяет в нем псевдопеременные на соответствующие данные и выводит.

Преимущества, дающие использование шаблонов при генерировании кода HTML-страниц:

  • Во-первых, чистота кода. Программный код не содержит HTML-кода, поэтому легко читается. В то же время, шаблон содержит только HTML-код, в котором видно где и какие данные вставляются (для этого давайте осмысленные имена псевдопеременным).

  • Во-вторых, разделение программного и HTML-кода дает возможность независимой разработки движка и дизайна. Чтобы что-то изменить во внешнем виде готового сайта достаточно внести изменения в соответствующий шаблон, при этом не нужно владеть навыками программирования.

  • Сайт может иметь несколько дизайнов. Чтобы полностью изменить дизайн сайта достаточно просто изменить путь к папке с шаблонами.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]