Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чим Builder відрізняється від Chain of Responsibility?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Builder** і **Chain of Responsibility** - це два зовсім різні патерни, хоча обидва використовують покроковий чи послідовний підхід: різниця в меті та характері взаємодії об'єктів. **Ключове:** Builder відповідає на питання «Як покроково створити?», Chain of Responsibility - «Хто обробить?».Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Builder** і **Chain of Responsibility** - це два зовсім різні патерни, хоча обидва використовують покроковий чи послідовний підхід. Різниця - у **меті** й **характері взаємодії об'єктів**. --- ### 1. **Мета** - **Builder** - керує **створенням складного об'єкта** з окремих частин. Він збирає продукт крок за кроком, поки не вийде готовий екземпляр. - **Chain of Responsibility (Ланцюжок обов'язків)** - керує **обробкою запиту**: передає його по ланцюжку об'єктів, поки один з них не обробить. --- ### 2. **Тип взаємодії** - У **Builder** усі кроки виконуються **у певній послідовності**, часто під контролем «директора». Кожен крок **додає частину** майбутнього об'єкта. - У **Chain of Responsibility** об'єкти утворюють **ланцюжок**; кожен може **обробити запит або передати далі**. Тут взаємодія **динамічна й умовна**, а не лінійне побудування результату. --- ### 3. **Контекст застосування** | Критерій | Builder | Chain of Responsibility | |---|---|---| | Мета | Створити об'єкт | Обробити запит | | Результат | Один готовий об'єкт | Потенційно різні обробники | | Керування | Визначений порядок кроків | Динамічна передача по ланцюжку | | Зв'язок об'єктів | Білдер і директор | Кілька обробників у ланцюзі | --- ### 4. **Приклад** **Builder:** Збирає `Car`: двигун -> колеса -> інтер'єр -> `build()`. **Chain of Responsibility:** Обробляє запит користувача: логер -> авторизація -> валідація -> контролер, поки хтось не завершить ланцюжок. --- ### 5. **Висновок** - **Builder** - про **конструювання** (створення продукту). - **Chain of Responsibility** - про **делегування** (передачу запиту). Builder відповідає на питання *«Як покроково створити?»*, Chain of Responsibility - *«Хто обробить?»*.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.