Призентація до курсовой Плахотнюка К. С.

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

КУРСОВА РОБОТА З ДИСЦИПЛІНИ “КОНСТРУЮВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ”

НА ТЕМУ:
«ПРАКТИЧНЕ ЗАСТОСУВАННЯ ПАТЕРНА ПРОЕКТУВАННЯ STATE У РІШЕННЯХ ТА ПРОГРАМАХ,
НАПИСАНИХ НА МОВІ ПРОГРАМУВАННЯ PYTHON»

СТУДЕНТА ГР. ІПЗ 19/9-Д


ПЛАХОТНЮКА КИРИЛА
МЕТА РОБОТИ
Моя мета полягає в створенні програми, яка проілюструє роботу
та принципи використання патерну проектування "State".

Основні поняття
Патерн проектування "State" є поведінковим патерном, який дозволяє змінювати поведінку
об'єкта в залежності від його стану. Він базується на ідеї розділення поведінки об'єкта на
окремі стани і керування переходами між цими станами.
Переваги патерну state: Недоліки патерну state:

1. Модульність: патерн state заохочує модульність та розділення 1. Складність: патерн state може додавати складність до коду,
відповідальностей, що полегшує зберігання та зміну коду. особливо якщо є велика кількість станів та переходів між ними.
2. Розширення: патерн state може легко розширюватися для 2. Надмірне проектування: існує ризик надмірного проектування при
врахування нових станів без необхідності змінювати існуючий код. впровадженні патерну state, що може призвести до непотрібної
3. Гнучкість: патерн state дозволяє отримувати різні результати від складності коду та проблем з обслуговуванням.
об'єкту, залежно від його стану, що полегшує адаптацію до змінних 3. Залежність від контексту: патерн state сильно залежить від
вимог. контексту, в якому він використовується, що може обмежувати його
4. Спрощує складні переходи стану: патерн state спрощує складні перевикористання в різних контекст.
переходи стану, розбиваючи їх на менші, більш управляємі кроки.
ПОСТАНОВКА ЗАДАЧІ

Метою завдання є реалізація патерну State для моделювання


поведінки торгового автомата. Використання цього патерну в
середовищі програмування Python дозволяє автомату змінювати свою
поведінку в залежності від його внутрішнього state. При відсутності
вставленої монети автомат поводиться інакше, ніж при наявності
вставленої монети. Використання патерну State дозволило чітко
відокремлювати проблеми між різними станами та їхньою поведінкою,
що спрощує код і робить його більш модульним та зручним у підтримці.
ДІАГРАМА КЛАСІВ ДІАГРАМА КОМПОНЕНТІВ
АНАЛОГІЯ ІЗ ЖИТТЯ
Радость
Зима

Огида Сум
• Зміна пір року Осінь Весна • Зміна емоцій людини

Літо Страх Гнів

Перенесення
водяної пари

Випаровування Утворення
• Кругообіг води води хмар • Зміна доби День Ніч

Повернення Випадання
до водойм опадів
ВИСНОВОК

• У результаті була розроблена демонстраційна програма, що показує патерн проектування «State» на


практиці.
• Реалізація алгоритму дозволила створити концептуальну, логічну та фізичну моделі демонстраційної
програми, яка може змінювати поведінку одного або декількох об'єктів, не змінюючи класу об'єкта.
• Втім, великі проекти можуть мати недоліки використання цього патерну, оскільки навіть найменша зміна
логіки переходів може вимагати перевірки всіх методів, які містять умовні оператори машини state.

You might also like