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

You might also like

Download as pptx, pdf, or txt
Download as pptx, 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