Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на госы по АПИС.doc
Скачиваний:
70
Добавлен:
26.09.2019
Размер:
198.14 Кб
Скачать

5. Шаблоны архитектуры. Представление централизованных данных. Шаблоны «Общий репозиторий», «Активный репозиторий», «Классная доска».

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

Классификация по классу решаемых задач:

  1. Представление по уровню

  2. Представление потоков данных

  3. Представление централизованных данных

  4. Представление адаптации

  5. Взаимодействие с пользователем

  6. Представление языков программирования

  7. Представление взаимодействия компонентов

  8. Представление распределений

Представление централизованных данных определяет как организуется доступ компонентов к централизованному хранилищу.

Общий репозиторий

К центральному хранилищу данных осуществляют доступ все другие независимые компоненты. Общий репозиторий должен:

  • Предоставлять специфические средства доступа

  • Быть масштабируемым

  • Решать проблемы совместного доступа к данным

  • Предоставлять механизм управления транзакцией

Активный репозиторий

Может информировать некоторое количество подписчиков об определенных событиях происходящих в репозиторий.

Классная доска

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

Классная доска — общий репозиторий, который использует результат работы клиентов для вычислений и пошагового улучшения решений.

Каждый клиент получает доступ к классной доске и проверяет наличие новых входных данных для последней обработки, а также размещает результат после нее. Управление компонентами отслеживает состояние классной доски и координирует в соответствие с им действия компонентов.

6. Шаблоны проектирования. Структурные шаблоны. Шаблон «Адаптер», «Заместитель».

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

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

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

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

Заместитель (proxy) является заменителем другого объекта и контролирует доступ к нему.

Proxy хранит ссылку, которая позволяет ему общаться с RealSubject. Так же предоставляет интерфейс Subject, контроль доступа к RealSubject и может выполнять дополнительные функции.

  • Удаленный заместитель. Кодирует запрос и отправляет объекту в другом адресном пространстве.

  • Виртуальный заместитель. Позволяет отделить создание объекта.

  • Защищающий заместитель. Проверяет, имеет ли вызывающий необходимые права доступа.

  • Умный заместитель. Выполняет дополнительные действия до или после действия.

Шаблон Facade (Фасад) — Шаблон проектирования, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.

Предоставляет единый высокоуровневый интерфейс вместо набора интерфейсов некоторой подсистемы, чтобы упростить её использование.

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