Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «У яких ситуаціях Proxy особливо корисний?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Proxy (Заступник)** особливо корисний, коли потрібно **контролювати доступ до ресурсомісткого, віддаленого або чутливого об'єкта**, не змінюючи інтерфейс клієнта. **Ключове:** проксі робить взаємодію з об'єктами контрольованою, безпечною і прозорою, залишаючи в клієнта відчуття, що він працює зі "справжнім" об'єктом.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Proxy (Заступник)** особливо корисний, коли потрібно **контролювати доступ до ресурсомісткого, віддаленого або чутливого об'єкта**, не змінюючи інтерфейс клієнта. --- ### 1. **Лінива ініціалізація (Virtual Proxy)** Коли створення об'єкта дороге (наприклад, завантаження зображення, підключення до БД або читання великого файлу). Проксі створює реальний об'єкт **тільки за першого звернення**. > *Приклад:* відображення зображень у застосунку: поки картинка не показана, реальний об'єкт `Image` не створюється. --- ### 2. **Віддалені виклики (Remote Proxy)** Коли об'єкт перебуває **в іншому процесі або на іншому сервері**. Проксі приховує мережеву логіку (серіалізацію, HTTP-виклики), щоб клієнт працював з віддаленим об'єктом як з локальним. > *Приклад:* Java RMI, gRPC, мікросервіси, API-клієнти. --- ### 3. **Контроль доступу (Protection Proxy)** Коли потрібно **обмежити операції** залежно від ролей, прав або стану. Проксі перевіряє дозволи до того, як запит дійде до справжнього об'єкта. > *Приклад:* адміністратор може видалити запис, користувач - тільки переглянути. --- ### 4. **Кешування (Caching Proxy)** Коли результат операцій можна **повторно використовувати**. Проксі зберігає відповіді реального об'єкта і повертає їх без повторних викликів. > *Приклад:* кешування запитів до зовнішнього API. --- ### 5. **Логування і моніторинг (Logging Proxy)** Коли потрібно **відстежувати дії** об'єкта без зміни його коду. Проксі перехоплює виклики і додає логування, метрики, трасування. --- ### 6. **Синхронізація і потокобезпека (Synchronized Proxy)** Коли до об'єкта звертаються з кількох потоків, проксі додає **блокування і контроль доступу**, не чіпаючи вихідний клас. --- ### **Висновок** Proxy особливо корисний, коли потрібно: - *відкласти створення важкого об'єкта*, - *приховати віддалену взаємодію*, - *додати безпеку, логування, кеш або синхронізацію*, при цьому **не змінюючи оригінальний код та інтерфейс**. **Підсумок:** Проксі робить взаємодію з об'єктами **контрольованою, безпечною і прозорою**, залишаючи в клієнта відчуття, що він працює зі "справжнім" об'єктом.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.