Шаблон Proxy

Шаблон Proxy (Заместитель)Шаблон проектирования. Предоставляет объект, контролирующий доступ, перехватывая все вызовы к нему.

Проблема

Необходимо управлять доступом к объекту, так чтобы создавать громоздкие объекты «по требованию».

Решение

Создать суррогат громоздкого объекта. «Заместитель» хранит ссылку, которая позволяет заместителю обратиться к реальному субъекту (объект класса «Заместитель» может обращаться к объекту класса «Субъект», если интерфейсы «Реального Субъекта» и «Субъекта» одинаковы). Поскольку интерфейс «Реального Субъекта» идентичен интерфейсу «Субъекта», так, что «Заместителя» можно подставить вместо «Реального Субъекта», контролирует доступ к «Реальному Субъекту», может отвечать за создание или удаление «Реального Субъекта». «Субъект» определяет общий для «Реального Субъекта» и «Заместителя» интерфейс, так, что «Заместитель» может быть использован везде, где ожидается «Реальный Субъект». При необходимости запросы могут быть переадресованы «Заместителем» «Реальному Субъекту».


«Заместитель» может иметь и другие обязанности, а именно:

  • удаленный «Заместитель» может отвечать за кодирование запроса и его аргументов и отправку закодированного запроса реальному «Субъекту»,
  • виртуальный «Заместитель» может кэшировать дополнительную информацию о реальном «Субъекте», чтобы отложить его создание,
  • защищающий «Заместитель» может проверять, имеет ли вызывающий объект необходимые для выполнения запроса права.



шаблоны проектирования
порождающие шаблоны | шаблоны поведения | структурные шаблоны | шаблоны параллельного программирования


структурные шаблоны проектирования

адаптер | мост | компоновщик | декоратор | фасад | заместитель | приспособленец


Эту статью следует викифицировать.
Пожалуйста, оформите её согласно общим правилам и указаниям.
 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home