- Chain of Responsibility Pattern
chainOfResponsibility.js
призначений для передавання запиту ланцюжком обробників. Кожен обробник у цьому ланцюжку або обробляє запит, або передає його наступному обробнику в ланцюжку. Цей патерн дає змогу уникнути жорсткої прив'язки відправника запиту до його одержувачів, даючи можливість обробити запит кільком обробникам. - Command Pattern
command.js
використовується для інкапсуляції всіх деталей операції в окремому об'єкті. Цей патерн дає змогу відокремлювати класи, які ініціюють операції, від класів, які виконують ці операції, забезпечуючи гнучкість в обміні командами, їхній черговості, відкладеному виконанні та логуванні. - Pattern Iterator
iterator.js
використовується для надання стандартного способу послідовного доступу до елементів колекції, не розкриваючи її внутрішнього представлення. - Pattern Mediator
mediator.js
застосовується для зменшення зв'язності між класами за рахунок створення класу-посередника, який керує взаємодією між цими класами. Цей патерн дає змогу централізовано керувати складними зв'язками та полегшує їхню підтримку та розширення. - Pattern Memento
memento.js
використовується для збереження і відновлення попереднього стану об'єкта без порушення інкапсуляції. Це корисно в ситуаціях, коли потрібно реалізувати можливість скасування операцій або повернення до попередніх станів. - Pattern Observer
observer.js
використовується для створення механізму підписки, що дає змогу одним об'єктам (спостерігачам) автоматично отримувати повідомлення про зміни стану інших об'єктів (суб'єктів). Цей патерн застосовується для створення слабко зв'язаних систем, де суб'єкт не повинен залежати від конкретних класів своїх спостерігачів. - Pattern State
state.js
використовується для зміни поведінки об'єкта при зміні його внутрішнього стану. Замість того щоб реалізовувати поведінку, залежну від стану, в одному класі, патерн пропонує винести цю поведінку в окремі класи станів. Це дає змогу об'єктам змінювати свою поведінку під час виконання, змінюючи поточний стан. - Pattern Strategy
strategy.js
являє собою спосіб визначення сімейства алгоритмів, інкапсулюючи кожен із них і роблячи їх взаємозамінними. Цей патерн дає змогу алгоритмам змінюватися незалежно від клієнтів, які ними користуються. - Pattern Template
template.js
використовується для визначення скелета алгоритму в методі базового класу, відкладаючи реалізацію деяких кроків на підкласи. Цей патерн дає змогу підкласам перевизначати певні кроки алгоритму, не змінюючи його структуру в цілому. - Pattern Visitor
visitor.js
призначений для додавання операцій до об'єктів без зміни класів цих об'єктів. Він дає змогу відокремити алгоритм від об'єктів, над якими він виконується, що спрощує додавання нових операцій, не змінюючи класи цих об'єктів.