Proxy — это структурный паттерн, который предоставляет объект-заместитель для управления доступом к другому объекту, обеспечивая контроль над его использованием.
Использование:
🔹 Когда необходимо контролировать доступ к ресурсоемким объектам или операциям.
🔹 Для добавления дополнительной функциональности без изменения исходного объекта.
Преимущества:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👌1
Определяет группу алгоритмов, инкапсулирует их и делает взаимозаменяемыми. Позволяет изменить алгоритм независимо от клиентов, их использующих.
Anonymous Quiz
55%
Strategy
21%
Template Method
8%
Factory Method
1%
Singleton
16%
Adapter
Какие из перечисленных паттернов относятся к структурным?
Anonymous Quiz
27%
Строитель, Абстрактная фабрика
16%
Цепочка обязанностей, Хранитель
17%
Прототип, Хранитель
40%
Компоновщик, Декоратор
👍1
Лучшие методы:
1. Декоратор
2. Базовый класс
3. Метакласс
4. Декоратор возвращает класс с тем же именем
5. Модуль
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👌1
Идея поведенческого паттерна
Итератор (англ. Iterator) состоит в том, чтобы вынести поведение обхода коллекции в отдельный объект. Таким образом, если вам понадобится изменить или добавить новый способ обхода, вы сможете это сделать, не затрагивая код самой коллекции.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👌2❤1
Структурный паттерн
Декоратор (англ. Decorator) позволяет расширять функциональность без использования наследования. Дело в том, что механизм наследования имеет несколько проблем:
Декоратор позволяет обойти эти проблемы. Суть этого шаблона отлично передает его второе название — "обертка". Вы помещаете один объект в другой — обертку. Обертка запускает базовое поведение объекта, а затем что-то добавляет к нему.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👌2
Структурный паттерн
Фасад (англ. Facade) помогает скрыть способ реализации сложной системы и предоставляет клиенту простой интерфейс взаимодействия с ней. Другими словами, данный паттерн проектирования используется в качестве “обертки”, скрывающей детали реализации.
Фасад полезен, если вы используете какую-то сложную библиотеку со множеством подвижных частей, но вам нужна только часть её возможностей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👌1
Адаптер (англ. Adapter) — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе.Это объект-переводчик, который трансформирует интерфейс или данные одного объекта в такой вид, чтобы он стал понятен другому объекту.
При этом адаптер оборачивает один из объектов так, что другой объект даже не знает о наличии первого.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1