HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: паттерн, шаблон проектирования, структурные шаблоны</p>
1 <p>Теги: паттерн, шаблон проектирования, структурные шаблоны</p>
2 <p>Proxy - это структурный паттерн проектирования, предоставляющий объект, который, в свою очередь, контролирует доступ к другому объекту путем перехвата всех вызовов. Также можно сказать, что шаблон "Заместитель" выполняет функцию контейнера. Рассмотрим примеры его реализации и использования.</p>
2 <p>Proxy - это структурный паттерн проектирования, предоставляющий объект, который, в свою очередь, контролирует доступ к другому объекту путем перехвата всех вызовов. Также можно сказать, что шаблон "Заместитель" выполняет функцию контейнера. Рассмотрим примеры его реализации и использования.</p>
3 <p>Но для начала -- случай из жизни. Представьте себе дверь, которую можно открыть лишь картой доступа либо нажатием кнопки.</p>
3 <p>Но для начала -- случай из жизни. Представьте себе дверь, которую можно открыть лишь картой доступа либо нажатием кнопки.</p>
4 <p>Главная функциональность двери - это ее открытие, а заместитель, который добавлен поверх (кнопка, карт-ридер), отвечает за безопасность и расширяет функциональность. Иными словами,<strong>с помощью Proxy-шаблона класс станет отображать функциональность другого класса</strong>.</p>
4 <p>Главная функциональность двери - это ее открытие, а заместитель, который добавлен поверх (кнопка, карт-ридер), отвечает за безопасность и расширяет функциональность. Иными словами,<strong>с помощью Proxy-шаблона класс станет отображать функциональность другого класса</strong>.</p>
5 <p>Для наилучшего понимания перейдем к коду. Итак, существует интерфейс<strong>Door</strong>и реализация этого интерфейса:</p>
5 <p>Для наилучшего понимания перейдем к коду. Итак, существует интерфейс<strong>Door</strong>и реализация этого интерфейса:</p>
6 <p>Также у нас существует заместитель<strong>Security</strong>, обеспечивающий защиту любых дверей:</p>
6 <p>Также у нас существует заместитель<strong>Security</strong>, обеспечивающий защиту любых дверей:</p>
7 <p>Ну а общий пример имплементации выглядит так:</p>
7 <p>Ну а общий пример имплементации выглядит так:</p>
8 <p>Также вам может быть интересен<a>пример имплементации на Java</a>.</p>
8 <p>Также вам может быть интересен<a>пример имплементации на Java</a>.</p>
9 <p><em>По материалам статьи<a>"Design Patterns for Humans"</a></em>.</p>
9 <p><em>По материалам статьи<a>"Design Patterns for Humans"</a></em>.</p>
10  
10