From 524f8f93b2f6eeb6793806a9d207921370df32a3 Mon Sep 17 00:00:00 2001 From: bekodeg Date: Tue, 10 Dec 2024 09:20:34 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B4=D0=B8=D0=B0=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Lab5-6/img.png | Bin 0 -> 14402 bytes Lab5-6/lab5.md | 10 ++++++---- 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 Lab5-6/img.png diff --git a/Lab5-6/img.png b/Lab5-6/img.png new file mode 100644 index 0000000000000000000000000000000000000000..f8d1f643d3aa3c7428d8a97f3f09e50348b7398f GIT binary patch literal 14402 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 literal 0 HcmV?d00001 diff --git a/Lab5-6/lab5.md b/Lab5-6/lab5.md index 7324ef9..0b40813 100644 --- a/Lab5-6/lab5.md +++ b/Lab5-6/lab5.md @@ -38,10 +38,12 @@ **Пример реализации для рассматриваемой предметной области:**
Классы, реализующие паттерн: -- StudentDTO (Target) – определяет модель, которую клиент ожидает использовать для работы со студентами -- StudentRepository (Client) – использует StudentDTO -- Student (Adaptee) – Модель доступная из базы данных -- IMapper (Adapter) – Преобразует Student в StudentDTO +- IStudentTracker (Target) – Интерфейс системы отслеживания успеваемости студентов +- StudentManager (Client) – Использует данные о успеваемости, для определеня судьбы студентов +- UniversitySystem (Adaptee) – Реализализовывает систему отслеживания успеваемости студентов +- StudentTrackerAdapter (Adapter) – "оборачивает" стороннюю систему и преобразует её в интерфейс, ожидаемый клиентом + +![img.png](img.png) ### Паттерн Composite Паттерн Компоновщик (Composite) объединяет группы объектов в древовидную структуру