Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Які мінуси у Mediator?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Патерн **Mediator (Посередник)** вирішує проблему надлишкових зв'язків між об'єктами, але при цьому сам може створити **нові складнощі**, якщо використовується без міри. **Ключове:** при неправильному застосуванні Mediator створює нову точку крихкості - перевантаженого координатора, у якому концентрується забагато логіки і залежностей.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняПатерн **Mediator (Посередник)** вирішує проблему надлишкових зв'язків між об'єктами, але при цьому сам може створити **нові складнощі**, якщо використовується без міри. --- ### 1. **Посередник може стати "божественним об'єктом"** Головний ризик - поступове **розростання посередника**. Коли вся взаємодія зосереджена в одному класі, він починає керувати надто багатьма процесами - від логіки UI до бізнес-правил. > Зрештою Mediator перетворюється на "монолітний контролер", > де зміни однієї частини впливають на все інше. --- ### 2. **Складність розуміння і супроводу логіки** Поведінка системи стає **менш прозорою** - компоненти більше не взаємодіють напряму, і зрозуміти, *хто що викликає*, можна тільки вивчивши код посередника. > Це знижує читабельність, особливо при великій кількості подій і станів. --- ### 3. **Проблеми з масштабованістю** Якщо кількість учасників зростає, Mediator повинен враховувати більше комбінацій взаємодій. Це ускладнює структуру, і будь-яка нова логіка вимагає зміни посередника - тим самим частково порушується принцип *open/closed* (OCP). --- ### 4. **Ризик надмірної централізації** Замість безлічі залежностей між об'єктами з'являється **одна гігантська залежність від посередника**. Усі компоненти стають **слабко зв'язані між собою**, але **жорстко зв'язані з Mediator**. --- ### 5. **Зниження продуктивності (у деяких сценаріях)** Якщо посередник обробляє велику кількість подій чи сповіщень, може виникнути **зайва прошарок викликів** і тимчасові накладні витрати. --- ### **Висновок** | Мінус | Суть | |---|---| | "Божественний об'єкт" | Посередник стає перевантаженим логікою | | Втрата прозорості | Важко зрозуміти, хто викликає кого | | Порушення OCP | Будь-яка нова взаємодія вимагає зміни Mediator | | Надмірна централізація | Усі залежать від одного посередника | | Можливі накладні витрати | Додаткові кроки при передачі повідомлень | --- **Підсумок:** Патерн **Mediator** знижує зв'язаність, але при неправильному застосуванні створює **нову точку крихкості** - перевантаженого координатора, у якому концентрується забагато логіки і залежностей.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.