1
This commit is contained in:
parent
e035ef4cb7
commit
6e4a965496
BIN
Lab5-6/img_7.png
Normal file
BIN
Lab5-6/img_7.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
44
Lab5-6/lab7.md
Normal file
44
Lab5-6/lab7.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# Лабораторная работа №7.
|
||||||
|
# Применение структурных паттернов.
|
||||||
|
|
||||||
|
## Задание
|
||||||
|
1) Дать описание паттернов, указанных во вариантах, для каких целей они могут применяться,
|
||||||
|
какие участники там фигурируют.
|
||||||
|
2) На основе задания из 3 лабораторной работы, для каждого паттерна придумать сущности,
|
||||||
|
относящиеся к той же предметной области, что описаны в задании и реализация которых
|
||||||
|
бы в приложении потребовала применения паттерна.
|
||||||
|
### Ограничения
|
||||||
|
- На каждый паттерн свои сущности
|
||||||
|
- В качестве источника сущностей использовать предметную область задания 3 лабораторной работы,
|
||||||
|
а не элементы разработки (что-то типа «У меня паттерн Singleton,
|
||||||
|
укажу ка я класс-подключение к БД через него», не принимается).
|
||||||
|
3) Создать диаграммы классов, отражающие взаимодействие новых
|
||||||
|
сущностей (а также используемый паттерн) с классами,
|
||||||
|
созданными в рамках 3 лабораторной работы. Отдельно отметить
|
||||||
|
классы, которые являются участниками паттерна
|
||||||
|
|
||||||
|
## Вариант 3 _Mediator, Mediator (2 различных реализации), Strategy._
|
||||||
|
|
||||||
|
### Паттерн Mediator
|
||||||
|
|
||||||
|
Паттерн "Посредник" (Mediator) представляет такой шаблон проектирования,
|
||||||
|
который обеспечивает взаимодействие множества объектов без необходимости ссылаться друг на друга.
|
||||||
|
Тем самым достигается слабосвязанность взаимодействующих объектов.
|
||||||
|
|
||||||
|
Участники
|
||||||
|
|
||||||
|
- Mediator - представляет интерфейс для взаимодействия с объектами Colleague.
|
||||||
|
- Colleague - представляет интерфейс для взаимодействия с объектом Mediator.
|
||||||
|
- ConcreteColleague1 и ConcreteColleague2 - конкретные классы коллег,
|
||||||
|
которые обмениваются друг с другом через объект Mediator.
|
||||||
|
- ConcreteMediator - конкретный посредник, реализующий интерфейс типа Mediator.
|
||||||
|
|
||||||
|
Классы, реализующие паттерн:
|
||||||
|
|
||||||
|
- INotificationSystem Mediator - Интерфейс описывающий систему оповищения студентов
|
||||||
|
- AbstractWorker Colleague - работники вуза
|
||||||
|
- Teacher ConcreteColleague1 - Преподователь
|
||||||
|
- Secretary ConcreteColleague2 - Секретарь
|
||||||
|
- NotificationSystem ConcreteMediator - Система оповищения студентов
|
||||||
|
|
||||||
|

|
Loading…
x
Reference in New Issue
Block a user