Архитектура системы




Скачать 42.33 Kb.
НазваниеАрхитектура системы
Дата публикации03.04.2013
Размер42.33 Kb.
ТипДокументы
odtdocs.ru > Информатика > Документы

Архитектура системы


Table of Contents

Архитектура системы 1

Описание архитектуры 3

Описание шаблонов 3

MVC 3

Одиночка 4

Метод фабрики 5



Описание архитектуры



В связи с распространением альтернативных системам Windows операционных систем UNIX, Linux, FreeBSD принято решение о написании системы с использованием кроссплатформенной библиотеки виджетов (в целях максимального охвата терминалов вне зависимости от типа их операционной системы).
По результатам обзора и сравнения из таких библиотек выбрана qt4, как наиболее зрелая, стабильная и относительно простая в освоении.
Выбор данной библиотеки оказывает существенное влияние на архитектуру: она построена на основании паттерна Модель-Представление-Поведение (MVC - model-view-controller), то есть программисты при создании виджетов реализуют часть model, а две оставшиеся предоставляются qt.
Соответственно, нашу систему удобно строить на основании того же паттерна MVC (хотя возможно и в несколько рафинированном виде). Cистема будет разделена на 2 больших части: логика и графический интерфейс. Первая будет содержать реализованные контейнеры, а вторая будет модельной частью виджетов qt, для демонстрации работы первой.
Для сущностей «Сеть доставки» и «Параметры пользователя» удобно применить шаблон Одиночка (Singleton). Это обеспечит нам единственность экземпляров соответствующих классов на протяжении всего сеанса работы с программой.
В приложении в зависимости от типа авторизованного пользователя необходимо менять расположение элементов в окне, разрешать или запрещать отображение некоторых элементов. Для этого удобно использовать шаблон Метод фабрики (Factory Method).

^

Описание шаблонов




MVC


Model-view-controller (MVC, «Модель-представление-поведение») — архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.

Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента

  • Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контролера ), изменяя свое состояние .

  • Представление (View). Отвечает за отображение информации (пользовательский интерфейс).

  • Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.



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

Одиночка



Назначение

Гарантирует существование только одного объекта данного класса и обеспечивает глобальный доступ к этому объекту.
Мотивация

Иногда важно, чтобы существовал ровно один экземпляр какого-либо класса. Система может иметь много принтеров, но должен существовать только один спулер принтера. Должна существовать только одна файловая система и один администратор оконного режима. Цифровой фильтр всегда имеет один A/D преобразователь.

Как можно гарантировать, что класс имеет только один объект и что этот образец является легко доступным? Глобальная переменная делает объект доступным, но не предохраняет Вас от инстанцирования множества объектов.

Лучшее решение состоит в том, чтобы определить класс, непосредственно ответственный за слежение за собственным объектом. Класс может гарантировать, что никакой другой экземпляр не может быть создан (прерывая запросы на создание новых объектов). Этот шаблон - Singleton.
Структура





^ Составные части

  • Singleton

    • Определяет операцию Instance, которая позволяет клиентуре обращаться к ее уникальному экземпляру. Instance - операция класса (то есть метод класса в Smalltalk и статический метод в C++).

    • Может быть ответствен за создание его собственного уникального экземпляра.



^

Метод фабрики



Назначение

Определяет интерфейс для создания объекта, но позволяет подклассам решить какой класс им инстанцировать. Метод Фабрики позволяет классу перекладывать инстанцирование на подклассы.
Мотивация

Каркас приложения использует абстрактные классы, чтобы определять и поддерживать связи между объектами. Оно часто ответственно и за создание этих объектов.
Рассмотрим каркас приложений, которые могут представлять пользователю несколько документов. В этой структуре можно выделить две абстракции - классы Application и Document. Оба этих класса абстрактны, а клиент должен реализовывать их подклассы в своих приложениях. Чтобы создать приложение для рисования, например, мы определяем классы DrawingApplication и DrawingDocument. Класс Application ответствен за управление документами (например создает их когда пользователь выбирает команды Open или New из меню).
Поскольку подкласс Document, экземпляр которого необходимо описать является специфическим для каждого приложения, класс Application не может предсказывать, что за подкласс Document необходимо создавать, он знает лишь когдановый документ должен быть создан. Таким образом, структура по идее должна создавать экземпляры абстрактного класса, но это невозможно.
Шаблон Метода Фабрики предлагает следующее решение. Он инкапсулирует информацию о том, который подкласс Document создать и выносит эту информацию за пределы каркаса.
Подклассы Application переопределяют абстрактную операцию CreateDocument, чтобы возвратить соответствующий подкласс Document. Будучи инстанцированным, Application может инстанцировать специфические для приложения Document-ы не зная их классы. Мы называем CreateDocument методом фабрики, потому что он отвечает за "производство" объекта.
Структура




^ Составные части
Product (Document)

Определяет интерфейс объектов, которые метод фабрики создает.
ConcreteProduct (MyDocument)

Реализует интерфейс программы.
Creator (Application)

Объявляет метод фабрики, который возвращает объект типа Product. Creator может также определять заданную по умолчанию реализацию метода фабрики, которая возвращает заданный по умолчанию объект ConcreteProduct.

Может вызывать метод фабрики создать объект Product.
ConcreteCreator (MyApplication)

Переопределяет метод фабрики, чтобы возвращать экземпляры ConcreteProduct.

Добавить документ в свой блог или на сайт

Похожие:

Список сокращений Технические сокращения
Клиент-серверная архитектура. Это сетевая архитектура, в которой устройства являются либо клиентами, либо серверами [9]

Список сокращений Сокращения предметной области
Клиент-серверная архитектура. Это сетевая архитектура, в которой устройства являются либо клиентами, либо серверами [9]

Список сокращений Сокращения предметной области
Клиент-серверная архитектура. Это сетевая архитектура, в которой устройства являются либо клиентами, либо серверами [9]

Классическая архитектура компьютера
Архитектура эвм, англ. Computer architecture  — концептуальная структура вычислительной машины, определяющая проведение обработки...

О курсе лекций "Архитектура параллельных систем" Евдокимова Т. О.,...
Данная статья посвящена обзору готовящегося к печати учебного пособия «Архитектура параллельных систем», основанного на материале...

Давайте работать вместе!
Идея проекта — познание того как менялась архитектура городов Европы с наступлением новой эпохи

Программа гэк по информатике для математического факультета 2011 2012 г
Архитектура микропроцессора. Алгоритм работы процессора. Методы адресации. Обработка прерываний

Архитектура понятия и стили Архитектурные стили
Модерн (арнуво, югендетиль, сецессион, либерти, модернисмо, неорусский стиль), кон. XIX — нач. XX в

Эмуляция систем с помощью qemu
Арм или PowerPC. В этой статье рассматривается qemu и его архитектура, и показывается, как эмулировать гостевую операционную систему...

Характеристика лечебно-диагностической базы дсоц «Маяк» Показания для направления в дсоц «Маяк»
Заболевания костно-мышечной системы, органов дыхания, сердечно-сосудистой системы, мочеполовой системы, нервной системы

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница