Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам»




НазваниеДипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам»
страница3/10
Дата01.10.2012
Размер0.53 Mb.
ТипДиплом
1   2   3   4   5   6   7   8   9   10

2.2 Концептуальная модель архитектуры Model-View-Controller (MVC)


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

Архитектурный паттерн Модель-Вид-Контроллер (MVC) делит программу на три части. В этой триаде в обязанности компонента Модель входит хранение данных и обеспечение интерфейса доступа к ним. Вид, или отображение, ответственен за представление этих данных пользователю. Контроллер управляет компонентами, получая сигналы в виде реакции на действия пользователя, и уведомляя об изменениях модель компонента. Такая внутренняя структура в целом разбивает систему на самостоятельные части и распределяет функции всего приложения на различные компоненты.

В общем виде связь между компонентами в рамках архитектуры MVC показана на рисунке c изображением концептуальной модели архитектуры MVC (см. Рис. 2.1).



Рисунок 2.1. Концептуальная модель архитектуры MVC

Задачи, решаемые компонентами в данном случае, можно описать следующим образом:

  1. Представление отвечает за отображение информации поступающей из системы или в систему.

  2. Модель является ядром системы и отвечает за внутреннее устройство системы.

  3. Контроллер – промежуточное звено между представлением и моделью в системе. Через контроллер проходят данные от пользователя в модель. Кроме того контроллер получает информацию от модели и передает ее в представление.

При более глубоком рассмотрении ролей этих трех компонентов, становится очевидным следующее:

  1. Представление – модуль вывода информации или набор компонентов, отвечающих за вывод информации в удобном, для конечного пользователя, виде. Это может быть шаблонизатор или некая схожая система, результатом функционирования которой является вывод информации в виде HTML или XHTML-документа на основе данных, переданных в нее.

  2. Контроллер – модуль управления вводом и выводом данных. Данный модуль должен следить за переданными в систему данными (через GET или POST-запрос, cookie или любым другим способом) и на основе введённых данных принять решение:

  1. Передать данные в модель;

  2. Вывести сообщение об ошибке и, возможно, запросить повторный ввод данных (заставить модуль представление обновить страницу с учётом изменившихся условий).

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

  1. Модель – модуль, отвечающий за непосредственный расчёт данных с использованием внутренней логики системы на основе полученных от контроллера входных параметров. Результат, полученный этим модулем, должен быть передан обратно в контроллер, и не должен содержать ничего, относящегося к непосредственному выводу (то есть должен быть представлен во внутреннем формате приложения).

2.2.1 Порядок действия компонентов архитектуры


Для библиотеки, разрабатываемой дипломантом, концептуальную модель архитектуры MVC можно представить несколько иначе, т.е. трансформировать к следующему виду:



Рисунок 2.2. Порядок взаимодействия между компонентами архитектуры MVC в рамках разрабатываемой библиотеки

На изображения видно, что порядок взаимодействия выглядит следующим образом:

  1. От пользователя поступают какие-то действия или данные (Действие);

  2. Контроллер анализирует входные данные и параметры передает их в модель (Данные для обработки);

  3. Модель производит некие действия (вычисления) обусловленные внутренней логикой компонета и отдает контроллеру результат своей работы (Результат обработки данных);

  4. Контроллер анализирует полученые от модели данные и отправляет на основе результатов анализа команды Представлению об изменении его состояния (Обновление представления).

Порядок действия компонентов системы, построенной по принципам архитектуры MVC в хронологическом порядке, описан на рисунке 2.3:



Рисунок 2.3. Очередность действий компонентов в рамках MVC в хронологическом порядке.

  1. Пользователь запрашивает страницу. Запрос обрабатывается контроллером и контроллер, в свою очередь, запрашивает у модуля представления вывод по умолчанию.

  2. Модуль представления сформировал и вернул страницу, которую отобразил браузер пользователя.

  3. Пользователь ввел некие данные.

  4. Данные попадают в контроллер, происходит процесс валидации данных. Если данные не проходят валидацию, то происходит повторный запрос данных. Если проходят, то переформировываются во внутренний формат системы и отправляются в модуль модели для дальнейшей работы на основе их.

  5. После завершения обработки данных в модели результат работы модуля возвращается контроллеру.

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

  7. Модуль представления формирует итоговый XHTML-документ на основе полученных от контроллера данных и отправляет его пользователю.

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

На внутреннем уровне приложения модель отделена от представления и контроллера.

В свою очередь контроллер также отделен от модели и представления и его функции сводятся только к управлению и проверке входных данных.

На практике это разделения не удается всегда соблюдать, т.к. если нет технологического разделения между компонентами, то концепции библиотеки архитектуры MVC приобретают рекомендательный характер. Именно этим обусловлено использование дипломантом технологии XSLT в качестве технологии, на которой основаны шаблоны в модуле Представления, т.к. это исключает возможность использования серверной логики (вставок PHP-кода непосредственно в код шаблона) на этапе вывода результатов работы приложения конечному пользователю.
1   2   3   4   5   6   7   8   9   10

Похожие:

Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту (работе) На тему Разработка общей поисковой системы для
Разработать объединяющую поисковую систему для электронных ресурсов кафедры икт на основе поисковых механизмов каждого ресурса в...
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломному проекту (работе) На тему: «Разработка телекоммуникационной системы для поддержки научно-исследовательской деятельности ио ран»
На тему: «Разработка телекоммуникационной системы для поддержки научно-исследовательской деятельности ио ран»
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту (работе) На тему Разработка системы защиты от распределенных атак на отказ в обслуживании типа
На тему «Разработка системы защиты от распределенных атак на отказ в обслуживании типа http-flood»
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconРеферат в пояснительной записке к дипломному проекту на тему «11-этажный жилой дом с мансардой»
В пояснительной записке к дипломному проекту на тему «11-этажный жилой дом с мансардой» представлены архитектурно-строительные, расчетно-конструктивные...
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту на тему: «Разработка методов встраивания информации в пространственную область изображения»
Санкт-Петербургский государственный электротехнический университет “лэти” им. В. И. Ульянова (Ленина)” (СПбгэту)
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconЗадача агента, предлагаемого в данной работе, состоит в пополнении коллекции новыми релевантными ее тематике документами. Как правило, работа такого агента начинается с некоторого множества html документов (ядра коллекции), заданных администратором коллекции.
Информационный агент для формирования тематической коллекции электронных документов
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломной работе На тему: «Разработка системы автоматизации функций формирования scorm совместимых метаданных для информационных ресурсов»
На тему: «Разработка системы автоматизации функций формирования scorm совместимых метаданных для информационных ресурсов»
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломному проекту to На тему: «Разработка проблемно-ориентированного языка программирования»
Московский государственный институт электроники и математики московский государственный институт электроники и математики
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconПояснительная записка к дипломному проекту на тему: Разработка методических основ по системам активной и пассивной безопасности автомобиля
Разработка методических основ по системам активной и пассивной безопасности автомобиля
Дипломному проекту (работе) На тему «Разработка библиотеки компонентов для динамического формирования html-документов по настраиваемым шаблонам» iconДипломному проекту На тему «Построение безопасной корпоративной сети»
Охватывает все области передачи/хранения/обработки информации в компании
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница