Skip to content

Commit

Permalink
description
Browse files Browse the repository at this point in the history
  • Loading branch information
georgedem975 committed Aug 14, 2022
1 parent 1d40854 commit c91e670
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion description/PATTERNS.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,14 @@
+ Когда необходимо использовать имеющийся класс, но его интерфейс не соответствует потребностям
+ Когда надо использовать уже существующий класс совместно с другими классами, интерфейсы которых не совместимы

+ ### [Прокси (proxy).]()
+ ### [Прокси (proxy).](https://github.com/georgedem975/patterns/tree/master/Proxy)
__Заместитель__ (Proxy) предоставляет объект-заместитель, который управляет доступом к другому объекту. То есть создается объект-суррогат, который может выступать в роли другого объекта и замещать его.
* ___Когда использовать прокси?___
+ Когда надо осуществлять взаимодействие по сети, а объект-проси должен имитировать поведения объекта в другом адресном пространстве. Использование прокси позволяет снизить накладные издержки при передачи данных через сеть. Подобная ситуация еще называется удалённый заместитель (remote proxies)
+ Когда нужно управлять доступом к ресурсу, создание которого требует больших затрат. Реальный объект создается только тогда, когда он действительно может понадобится, а до этого все запросы к нему обрабатывает прокси-объект. Подобная ситуация еще называется виртуальный заместитель (virtual proxies)
+ Когда необходимо разграничить доступ к вызываемому объекту в зависимости от прав вызывающего объекта. Подобная ситуация еще называется защищающий заместитель (protection proxies)
+ Когда нужно вести подсчет ссылок на объект или обеспечить потокобезопасную работу с реальным объектом. Подобная ситуация называется "умные ссылки" (smart reference)

+ ### [Мост (bridge).]()
+ ### [Компоновщик (composite).]()
+ ### [Декоратор (decorator).]()
Expand Down

0 comments on commit c91e670

Please sign in to comment.