Слайд 2
![МЕТАФОРА](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-1.jpg)
Слайд 3
![ПРИКЛАД](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-2.jpg)
Слайд 4
![ПРИЗНАЧЕННЯ Надає об’єкт-замісник](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-3.jpg)
ПРИЗНАЧЕННЯ
Надає об’єкт-замісник
Слайд 5
![СТРУКТУРА ПАТЕРНА НА МОВІ UML](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-4.jpg)
СТРУКТУРА ПАТЕРНА НА МОВІ UML
Слайд 6
![СТРУКТУРА ПАТЕРНА НА МОВІ C#](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-5.jpg)
СТРУКТУРА ПАТЕРНА НА МОВІ C#
Слайд 7
![УЧАСНИКИ Proxy - Замісник: Являє собою клас об'єкта-замісника. Об'єкт замісник](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-6.jpg)
УЧАСНИКИ
Proxy - Замісник:
Являє собою клас об'єкта-замісника. Об'єкт замісник зберігає в собі
посилання на реальний суб'єкт, що дозволяє заміснику звертатися до реального суб'єкту безпосередньо. Замісник має такий же інтерфейс, як і реальний суб'єкт, що дозволяє в потрібний момент підставляти замісника замість реального суб'єкта і навпаки. Замісник контролює доступ до реального суб'єкту і може відповідати за створення екземпляра реального суб'єкта, якщо це необхідно.
Subject - Суб'єкт:
Надає загальний інтерфейс для Proxy і RealSubject. Proxy можливо використовувати всюди, де очікується використання RealSubject.
RealSubject - Реальний суб'єкт:
Являє собою клас об'єкта, для якого потрібне створення замісника.
Слайд 8
![ЗАСТОСУВАННЯ ПАТЕРНА Віддалений замісник («Посол» або «Ambassador») Віддалений об'єкт-Proxy -](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-7.jpg)
ЗАСТОСУВАННЯ ПАТЕРНА
Віддалений замісник («Посол» або «Ambassador»)
Віддалений об'єкт-Proxy - це об'єкт, який
знаходиться в іншому адресному просторі щодо цільового об'єкта і забезпечує доступ до цільового об'єкту. Наприклад, при використанні технології WCF створюється об'єкт проксі, який представляє собою обгортку для сервісу-споживача (consumer), що зв'язується з сервісом-постачальником (provider).
Слайд 9
![ЗАСТОСУВАННЯ ПАТЕРНА Віртуальний замісник Віртуальний замісник - це об'єкт, який створює «важкі» об'єкти на вимогу.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-8.jpg)
ЗАСТОСУВАННЯ ПАТЕРНА
Віртуальний замісник
Віртуальний замісник - це об'єкт, який створює «важкі» об'єкти
на вимогу.
Слайд 10
![ЗАСТОСУВАННЯ ПАТЕРНА Захисний замісник Захисний замісник контролює доступ до свого](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-9.jpg)
ЗАСТОСУВАННЯ ПАТЕРНА
Захисний замісник
Захисний замісник контролює доступ до свого цільового об'єкта.
Наприклад, може
використовуватися, коли потрібно встановити різні права доступу при реалізаії CRUD в БД.
Слайд 11
![ЗАСТОСУВАННЯ ПАТЕРНА Розумне посилання Об'єкт «розумне посилання» - являє собою](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/336137/slide-10.jpg)
ЗАСТОСУВАННЯ ПАТЕРНА
Розумне посилання
Об'єкт «розумне посилання» - являє собою об'єктно-орієнтоване представлення звичайного
покажчика (адреси змінної або методу в пам'яті).
Як приклад розумного посилання в мові C# можна привести такі синтаксичні конструкції як делегат (delegate), критична секція (Lock), змінна запиту LINQ, оператори автоматичної генерації програмного коду асинхронного виконання методу (async і await).