Создан заказ №2700384
20 февраля 2018
курса 373442 группы Шушарину Михаилу Александровичу 09 03 02 Информационные системы и технологии (Код и наименование направления подготовки/специальности) ТЕМА
Как заказчик описал требования к работе:
Предмет Шаблонное программирование.
прикрепил 2 файла. один лист задания. другой просто (пример одногрупника) как должна выглядеть контрольная работа по старому СТО 2017
Фрагмент выполненной работы:
курса 373442 группы
Шушарину Михаилу Александровичу
09.03.02 Информационные системы и технологии
(Код и наименование направления подготовки/специальности)
ТЕМА: Использование паттерна Посредник на языке Python
ИСХОДНЫЕ ДАННЫЕ:
Рассмотреть паттерн, его назначение, для решения каких вопросов при
объектно-ориентированной разработке программ его используют
Подобрать проблему в произвольной предметной области и применить для её решения
паттерн .
Описать решение с использованием нотации UML, и составлением классовой диаграммы и
диаграммы взаимодействия.
Составить программу, соответствующую созданным диаграммам, иллюстрирующую
применение паттерна. (работа была выполнена специалистами author24.ru) В качестве языка реализации использовать Python версии 3 .
Срок выполнения: «_ »_ _2018 г. по «_ _»__ ___2018 г.
Руководитель
доцент
М.Е. Деменков
(подпись)
2784475406400Архангельск 20182835958694738
ЛИСТ ДЛЯ ЗАМЕЧАНИЙ
28113818111239
ОГЛАВЛЕНИЕ
TOC \o "1-3" \h \z \u 1ПАТТЕРН ПОСРЕДНИК, ЕГО НАЗНАЧЕНИЕ, ДЛЯ РЕШЕНИЯ КАКИХ ВОПРОСОВ ПРИ ОБЪЕКНО-ОРИЕНТИРОВАННОЙ РАЗРАБОТКЕ ПРОГРАММ ЕГО ИСПОЛЬЗУЮТ PAGEREF _Toc507882279 \h 5
2ПОДОБРАТЬ ПРОБЛЕМУ В ПРОИЗВОЛЬНОЙ ПРЕДМЕТНОЙ ОБЛАСТИ И ПРИМЕНИТЬ ДЛЯ ЕЕ РЕШЕНИЯ ПАТТЕРНА PAGEREF _Toc507882280 \h 7
3ОПИСАТЬ РЕШЕНИЕ С ИСПОЛЬЗОВАНИЕМ UML, И СОСТАВЛЕНИЕМ КЛАССОВОЙ ДИАГРАММЫ PAGEREF _Toc507882281 \h 8
4СОСТАВИТЬ ПРОГРАММУ, СООТВЕСТВУЮЩУЮ СОЗДАННЫМ ДИАГРАММАМ, ИЛЛЮСТРИРУЮЩУЮ ПРИМЕНЕНИЕ ПАТТЕРНА PAGEREF _Toc507882282 \h 9
ЗАКЛЮЧЕНИЕ PAGEREF _Toc507882283 \h 11
СПИСОЕ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ PAGEREF _Toc507882284 \h 12
ПРИЛОЖЕНИЕ А PAGEREF _Toc507882285 \h 13
ПАТТЕРН ПОСРЕДНИК, ЕГО НАЗНАЧЕНИЕ, ДЛЯ РЕШЕНИЯ КАКИХ ВОПРОСОВ ПРИ ОБЪЕКНО-ОРИЕНТИРОВАННОЙ РАЗРАБОТКЕ ПРОГРАММ ЕГО ИСПОЛЬЗУЮТ
Посредник (англ. Mediator) — поведенческий шаблон проектирования, обеспечивающий взаимодействие множества объектов, формируя при этом слабую связанность и избавляя объекты от необходимости явно ссылаться друг на друга.
Проблема
Обеспечить взаимодействие множества объектов, сформировав при этом слабую связанность и избавив объекты от необходимости явно ссылаться друг на друга.
Решение:
Создать объект, инкапсулирующий способ взаимодействия множества объектов.
Преимущества
Устраняется связанность между "Коллегами", централизуется управление.
Структура
Рис. 1. UML диаграмма, описывающая структуру шаблона проектирования Посредник
Mediator – "Посредник"
ConcreteMediator – "Конкретный посредник"
Классы Colleague – "Коллеги"
Описание
"Посредник" определяет интерфейс для обмена информацией с объектами "Коллеги", "Конкретный посредник" координирует действия объектов "Коллеги". Каждый класс "Коллеги" знает о своем объекте "Посредник", все "Коллеги" обмениваются информацией только с посредником, при его отсутствии им пришлось бы обмениваться информацией напрямую. "Коллеги" посылают запросы посреднику и получают запросы от него. "Посредник" реализует кооперативное поведение, пересылая каждый запрос одному или нескольким "Коллегам".
ПОДОБРАТЬ ПРОБЛЕМУ В ПРОИЗВОЛЬНОЙ ПРЕДМЕТНОЙ ОБЛАСТИ И ПРИМЕНИТЬ ДЛЯ ЕЕ РЕШЕНИЯ ПАТТЕРНА
Шаблон посредник подразумевает добавление стороннего объекта (посредника) для управления взаимодействием между двумя объектами (коллегами). Шаблон помогает уменьшить связанность (coupling) классов, общающихся друг с другом, ведь теперь они не должны знать о реализациях своих собеседников.
Типичный пример шаблона медиатора может проявляться в автоматизации тестирования которая состоит из четырех классов: TC (TestCategory), TestManager, Reporter и DB (База данных).
ОПИСАТЬ РЕШЕНИЕ С ИСПОЛЬЗОВАНИЕМ UML, И СОСТАВЛЕНИЕМ КЛАССОВОЙ ДИАГРАММЫ
1. Класс TC отвечает за запуск тестов с помощью setup (), execute () и tearDown ().
2. Reporter вызывает метод prepare(), в то время как категория тестирования начинает получать выполняется и вызывает метод report(), когда категория теста заканчивает выполнение. Это помогает в текстовой отчетности об испытаниях, выполняемых фреймворк.
3. БД класса хранит статус выполнения категории теста, сначала вызывая insert(), в то время как категория тестирования находится в setup(), а затем вызывает обновление() после завершения выполнения тестовой категории. Таким образом, при любом момент времени, статус выполнения теста доступен для пользователя системы для запроса из базы данных.
4. Класс TestManager - это тот, который координирует выполнение тестовой категории (Класс TC) и получение отчетов (Reporter) и получение теста статус выполнения в базе данных (DB) с помощью prepareReporting () и publishReport ().
5. Методы setTM (), setTC (), setReporter () и setDB () используются так, что
классы могут зарегистрироваться друг с другом и легко общаться.
Построение аналогии с шаблоном посредника, класс TestManager является посредником между классом TC, Reporter и DB, коллегами в системе.
Составление диаграммы классов фигуры (Рисунок 2).
СОСТАВИТЬ ПРОГРАММУ, СООТВЕСТВУЮЩУЮ СОЗДАННЫМ ДИАГРАММАМ, ИЛЛЮСТРИРУЮЩУЮ ПРИМЕНЕНИЕ ПАТТЕРНА
Составим программу, согласно созданной диаграмме классов, иллюстрирующую работу паттерна Посредник. В качестве языка реализации будет использован Python версии 3.0.
В приведенном коде Python пользователь фреймворка сначала создает экземпляры классов Reporter, DB и TestManager и регистрирует эти классы друг с другом с помощью методов setReporter(), setDB() и setTM().
Когда класс тестирования запускается, класс TestManager и класс TC регистрируются друг с другом...Посмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
200 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик принял работу без использования гарантии
21 февраля 2018
Заказ завершен, заказчик получил финальный файл с работой
![](https://author24shop.ru/assets/img/avatars/size176x176/13/568077.jpg?1675766238)
5
![скачать](/assets/img/lenta2020/download_icon.png)
курса 373442 группы
Шушарину Михаилу Александровичу
09 03 02 Информационные системы и технологии
(Код и наименование направления подготовки/специальности)
ТЕМА.docx
2020-12-09 21:17
Последний отзыв студента о бирже Автор24
Общая оценка
5
![](/assets/images/emoji/star-eyes.png)
Положительно
Материал был взят с интернета, но это ладно. Оформление пришлось переделывать, диаграммы с UML пришлось самому рисовать, так как в работу были вставлены скрины с инета.