Идея поведенческого паттерна
Итератор (англ. 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
👍1👌1
Адаптер (англ. Adapter) — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе.Это объект-переводчик, который трансформирует интерфейс или данные одного объекта в такой вид, чтобы он стал понятен другому объекту.
При этом адаптер оборачивает один из объектов так, что другой объект даже не знает о наличии первого.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Шаблон
Абстрактная фабрика (англ. Abstract Factory) относится к классу порождающих паттернов. Его основное назначение — предоставить интерфейс для создания семейства взаимосвязанных объектов, не указывая конкретные классы этих объектов.Классы абстрактной фабрики часто реализуются фабричными методами, но могут быть реализованы и с помощью паттерна Prototype.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👌3👍2❤1