Концептуальная схема решения задачи

Для решения поставленной задачи мной предложено использовать архитектуру модель/представление.

Рис. 7 – Общая схема архитектуры модель/представления

Архитектура модель-представление-контроллер (Model-View-Controller, MVC) является шаблоном проектирования, берущим начало от Smalltalk, который часто используется для создания пользовательских интерфейсов. В книге Design Patterns Гаммы (Gamma) и других написано:

MVC состоит из трех типов объектов. Модель - объект приложения, представление - его экранное представление и контроллер - определяет реакцию пользовательского интерфейса на пользовательский ввод. До MVC при разработке пользовательского интерфейса эти объекты смешивались вместе. MVC разделяет их, для увеличения гибкости и возможности повторного использования.

Если объединить объекты представления и контроллера, то в результате получится архитектура модель/представление. Это все еще отделяет способ хранения данных от способа их представления пользователю, но обеспечивает простую структуру, основанную на тех же принципах. Данное разделение дает возможность показать пользователю одни и те же данные в различных представлениях и реализовать новые типы представлений без изменения базовой структуры данных. Чтобы обеспечить гибкость управления пользовательским вводом, представляется концепция делегата (delegate). Преимущество наличия делегата в этой структуре состоит в том, что это дает возможность для настройки представления и редактирования элементов данных.

Модель осуществляет соединение с источником данных, предоставляя необходимый интерфейс другим компонентам архитектуры. Характер связи зависит от типа источника данных и способа реализации модели. Из модели представление получает модельные индексы, являющиеся ссылками на элементы данных. Передавая модельные индексы модели, представление может получить элементы данных из источника данных. В стандартных представлениях делегат отображает элементы данных. Если элемент редактируемый, делегат связывается с моделью непосредственно используя модельные индексы.

Модели, представления и делегаты взаимодействуют друг с другом используя сигналы и слоты:

· Сигналы от модели информируют представление об изменениях данных в источнике данных.

· Сигналы от представления предоставляют информацию о пользовательском взаимодействии с отображаемыми элементами.

· Сигналы от делегата используются во время редактирования, сообщают модели и представлению о состоянии редактора.

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

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

В отличие от шаблона модель-представление-контроллер (MVC), архитектура модель/представление не включает в себя полностью независимые компоненты для управления взаимодействием с пользователем. Как правило, представление отвечает за представление пользователю данных модели и за обработку пользовательского ввода. Чтобы придать немного гибкости способу, которым этот ввод получается, взаимодействие осуществляется с помощью делегатов (delegates). Эти компоненты предоставляют возможности ввода, а также отвечают за отрисовку индивидуальных элементов в некоторых представлениях.

Вывод

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

Список использованной литературы

1. Базы данных: теория и практика: Учебник для вузов / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. – М.: Высш.шк., 2005. – 463 с.: ил.

2. http://www.doc.crossplatform.ru/qt/4.7.x/model-view-programming.html - программирование модель/представление.

3. http://postgresql.ru.net/manual8.4/index.html - документация по СУБД PostgreSQL

4. http://www.sybase.ru/ - официальный сайт Sybase


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: