Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чим «Фасад» відрізняється від «Адаптера»?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Фасад (Facade)** і **Адаптер (Adapter)** справді схожі - обидва створюють **прошарок** між клієнтом і системою, - але вирішують **різні задачі**. **Ключове:** Facade спрощує роботу з уже сумісною, але складною системою, тоді як Adapter робить несумісні інтерфейси сумісними.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Фасад (Facade)** і **Адаптер (Adapter)** справді схожі - обидва створюють **прошарок** між клієнтом і системою, - але вирішують **різні задачі**. --- ### 1. **Мета** - **Facade** спрощує роботу з **уже сумісною**, але **складною** системою. → робить інтерфейс простішим. - **Adapter** робить **несумісні інтерфейси сумісними**. → робить інтерфейс придатним. **Приклад:** - Фасад приховує за собою десятки класів (`VideoConverter` замість `Codec`, `Reader`, `Mixer`). - Адаптер підганяє старий клас (`OldPlayer`) під новий інтерфейс (`MediaPlayer`). --- ### 2. **Контекст використання** | Ситуація | Що підходить | |---|---| | Потрібно **скоротити складність API** | **Facade** | | Потрібно **поєднати несумісні інтерфейси** | **Adapter** | --- ### 3. **Взаємини із системою** - **Facade** працює **з внутрішніми компонентами** однієї системи - це *зовнішня оболонка* навколо складного модуля. - **Adapter** з'єднує **дві різні системи**, у яких *різні інтерфейси*. --- ### 4. **Зміна інтерфейсу** - **Facade** залишає інтерфейси підсистем незмінними, просто об'єднує їх у спрощену точку входу. - **Adapter** **перекладає** один інтерфейс в інший. --- ### 5. **Аналогія** - **Фасад** - це **рецепшн у готелі**: ти не бачиш внутрішню кухню, просто звертаєшся через одного співробітника. - **Адаптер** - це **перехідник для розетки**: він робить несумісні роз'єми сумісними. --- ### 6. **Висновок** | Критерій | Facade | Adapter | |---|---|---| | Мета | Спростити доступ до системи | Поєднати різні інтерфейси | | Змінює інтерфейс | Ні | Так | | Застосування | Для власних підсистем | Для зовнішніх або старих модулів | | Результат | Простота | Сумісність | **Підсумок:** **Фасад** - про **спрощення** взаємодії, **Адаптер** - про **сумісність** різних інтерфейсів.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.