Технологическая часть, Обзор паттерна MVC - Разработка модуля для хранения и управления документами в электронном виде
Обзор паттерна MVC
Впервые описал схему Model-view-controller (Модель-вид-контроллер) Трюгве Реенскауг, норвежский ученый из университета в Осло, работавший в 1979 году над объектно-ориентированным языком программирования Smalltalk. Строго говоря, MVC является не паттерном, а схемой использования нескольких паттернов проектирования приложений.
Схема MVC состоит из объектов трех типов: модели, вида и контроллера.
Модель в MVC представляет данные приложения и методы для работы с ними. Модель хранит в себе состояния и логику, но не ответственна за представление данных.
Вид -- экранное представление хранимых в модели данных. Вид гарантирует, что визуальное отображение полностью отражает состояние модели. При любом изменении модель оповещает соответствующие представления.
Контроллер -- связующее звено между моделью и видом. Он обеспечивает взаимодействие пользователя с системой, контролируя вводимые в интерфейс данные и обеспечивая логическую согласованность между моделью и видами.
Одним из основных преимуществ подобного подхода является полная независимость вида от модели. Одни и те же данные можно представить с помощью разных видов, не затрагивая реализацию модели. С другой стороны, контроллер, отвечающий за логику взаимодействия с пользователем, также может быть замещен другим в рамках одной и той же модели. Таким образом реализуется смена стратегии реагирования на команды со стороны пользователя.
Как уже было сказано, MVC не является самостоятельным паттерном проектирования. Основные шаблоны, входящие в его состав: наблюдатель, компоновщик и стратегия.
Наблюдатель - поведенческий шаблон проектирования, предназначенный для создания зависимости между одним и несколькими объектами таким образом, что при изменении состояния основного меняется состояние зависимых. В MVC это реализуется в представлении и модели: при изменении модели меняются все ее виды.
Компоновщик - паттерн, предназначенный для компоновки объектов в древовидные структуры. При этом обращение к отдельному объекту и к составному неразличимо для клиентов. В классическом MVC этот шаблон используется при создании составных видов. Например, в окне приложения могут быть различные элементы управления, но каждый из них (включая само окно) имеет общий набор доступных действий (отрисовать, удалить, переместить и пр.)
Стратегия -- поведенческий шаблон, определяющий несколько взаимозаменяемых алгоритмов поведения. Стратегия позволяет изменить поведение клиентов, не внося в них изменения. В MVC стратегия находит отражение во взаимодействии вид-контроллер. В рамках одного и того же вида можно использовать различные стратегии -- контроллеры, искапсулирующие алгоритмы поведения в ответ на команды пользователя.
Подход MVC нашел широкое применение в веб-программировании на различных современных языках. Схема MVC породила семейство веб-фреймворков, использующих ее в качестве основной архитектуры. Среди них можно выделить Ruby on Rails, Yii, Symfony, Zend Framework, Django и многие другие.
Похожие статьи
-
Модуль должен поддерживать механизм состояний документов. На стадии разработки технического задания были выделены следующие состояния: - Черновик...
-
Анализ требований к модулю электронных документов Сущность документа Разрабатываемый модуль должен вводить в приложение новую сущность -- документ,...
-
Flagship Docs представляет собой популярную систему управления документами, разработанную компанией RPI Web Tech Group. Данная система решает широкий...
-
Введение - Разработка модуля для хранения и управления документами в электронном виде
Актуальность Во многих современных системах автоматизированного управления бизнес-процессами предприятий возникает необходимость в организации и...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Выбранные датчики, исполнительные механизмы и их месторасположение, а также структурная схема АСУ ТП производства сухого молока позволяют составить схему...
-
При разработке различных объектов и процессов в большинстве случаев требуется ввести более одной целевой функции. В этом случае, намного эффективней...
-
В настоящее время существует множество систем управления информационными ресурсами предприятия (ECM - Enterprise content management ), предназначенных...
-
Объекты области временного хранения классифицируются по предметным областям. Аутентичность исходным данным Заказчика в объектах DF , TD и R достигается...
-
В ходе проектирования объектов зачастую происходит многократное повторение различных операций проектирования. Основная причина заключается в том, что...
-
Назначение комплекса Комплекс "CADoptimizer" разрабатывался для решения задач многокритериальной и многопараметрической оптимизации при проектировании...
-
Обоснование выбранного метода При дизайне системы согласно требованиям или при оптимизации существующей необходимо ввести модель, позволяющую не только...
-
Проектирование визуальных конструкций Вторая глава описывает процесс трансформации текстового языка JAPE в визуальный язык, который позволит описывать...
-
В главе рассмотрены существующие решения веб-редакторов, позволяющих создавать разного типа диаграммы и генерировать на их основе программный код. Так же...
-
Назначение и область применения Модуль библиотеки частных критериев оптимальности применяется для автоматизации формирования и расчета значений целевой...
-
Рассмотрим сформулированные основные требования для решения поставленной задачи. Функциональные требования: - Выбор пользователем частных критериев...
-
Форматы файлов для хранения растровых графических изображений - Обзор графических редакторов
Как правило, файлы для хранения растровых графических изображений логически состоят из двух частей: заголовка и области данных. В заголовке указаны...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
Информационно-поисковые системы - Осуществление хранения и поиска документов
ПС с большим набором функций и возможностей обычно входят в состав СУБД и именуются информационно-поисковыми системами. Они также создаются и...
-
Объектно-ориентированное программирование (ООП) является парадигмой программирования, которая представляет понятия, как "объекты", которые имеют поля...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Введение - Технология разработки программного обеспечения систем управления
С++ является языком объектно-ориентированного программирования (ООП). Объект - абстрактная сущность, наделенная характеристиками объектов реального мира....
-
Основной трудностью при создании интегрированных АИС является длительность разработки -- большая протяженность этапов проектирования зачастую приводит к...
-
Основные проблемы проектирования Учитывая современный технический уровень развития общества, сложность используемой и создаваемой техники,...
-
Целью выполнения дипломного проекта являлась разработка модуля для комплекса многокритериальной и многопараметрической оптимизации "CADoptimizer". Данный...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Для разработки программного обеспечения использован язык Java. Разработка проводилась в среде Eclipse Ganymede 3.2. В качестве СУБД для тестирования...
-
Уровни и типы моделей БД - Банки и базы данных. Системы управления базами данных
Любая БД отражает информацию об определенной предметной области. В зависимости от уровня абстракции, на котором представляется предметная область,...
-
Понятие атаки на ИС. Примеры атак - Технологический процесс в электронной промышленности
Прежде чем обсуждать способы выявления атак, определим, что же такое атака. Итак, атака - это совокупность действий злоумышленника, приводящих к...
-
Структура комплекса представлена на рисунке 3. Комплекс состоит из следующих модулей: - пользовательский интерфейс; - математическая модель; - библиотека...
-
Информационная система (ИС) ГИБДД должна обеспечивать хранение информации об автомобилях (марка, номер кузова, номер двигателя, цвет кузова, гос. номер),...
-
Проектирование модели - Разработка программного приложения "Калькулятор коммунальных услуг"
При проектировании информационных систем предметная область отображается моделями данных нескольких уровней. Число используемых уровней зависит от...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
Solidworcks Enterprise PDM (SWE-PDM) управляет данными и процессами на различных этапах жизненного цикла изделия, обеспечивая коллективную (параллельную)...
-
Запросы - Разработка информационной системы "Гостиница"
Одним из семи стандартных объектов Microsoft Access является запрос. Запросы используются для просмотра, анализа и изменения данных в одной или...
-
Отчеты, Макросы, Модули - Разработка информационной системы "Гостиница"
Отчет - это форматированное представление данных, которое выводится на экран, в печать или файл. Они позволяют извлечь из базы нужные сведения и...
-
Среда объектно-ориентированного программирования Delphi Delphi - это комбинация нескольких важнейших технологий, высокопроизводительный компилятор в...
-
В данной дипломной работе для автоматизации процесса документооборота в банке использовалось такое программное обеспечение, как Microsoft Visual Studio...
-
В данной части работы, рассмотрим необходимое программное обеспечение для распознавания и перевода вышеприведенных документов из графического формата в...
-
Интерфейс автоматизированной системы представляет собой веб-приложение, разработанное на языке программирования PHP с использованием популярного CMF...
Технологическая часть, Обзор паттерна MVC - Разработка модуля для хранения и управления документами в электронном виде