Рубрика: Структурные

Прокси (Proxy)

Прокси (Proxy, Заместитель) относиться к классу структурных паттернов. Является суррогатом другого объекта и контролирует доступ к нему. Наиболее частым применением паттерна прокси является ленивая загрузка (lazy load). «Тяжелые» объекты не всегда разумно загружать в момент инициализации. Более правильным решением будет загрузить…

Приспособленец (Flyweight)

Приспособленец (Flyweight) относиться к классу структурных паттернов. Он используется для эффективной поддержки множества мелких объектов. В некоторых приложения использование множества мелких объектов могло бы оказаться весьма полезным, однако прямая реализация ведет к чудовищному перерасходу ресурсов. Попробую объяснить это на примере интернет магазина,…

Фасад (Facade)

Facade (Фасад) относиться к классу структурных паттернов. Представляет собой унифицированный интерфейс вместо набора интерфейсов некоторой подсистемы. Паттерн фасад определяет интерфейс более высокого уровня, который упрощает использование подсистем. Разбиение на подсистемы сложной системы позволяет упростить процесс проектирования, а также помогает максимально снизить…

Декоратор (Decorator)

Decorator (Декоратор) относиться к классу структурных паттернов. Он используется для динамического расширения функциональности объекта. Является гибкой альтернативой наследованию. Сущность работы паттерна декоратор заключается в «оборачивании» готового объекта новым функционалом, при этом весь оригинальный интерфейс объекта остается доступным (декоратор переадресует все запросы…

Компоновщик (Composite)

Composite (Компоновщик) относиться к классу структурных паттернов. Он используется для компоновки объектов в древовидные структуры для представления иерархий, позволяя одинаково трактовать индивидуальные и составные объекты. Ниже на рисунке представлена типичная древовидная структура: Как можно догадаться, composite это составной объект, а leaf это…

Bridge (Мост)

Bridge (Мост) относиться к классу структурных паттернов. Он используется для отделения абстракции от ее реализации так, чтобы то и другое можно было изменять независимо. Если для одной абстракции возможно несколько несколько реализаций, то обычно используют наследование. Однако такой подход не всегда удобен,…

Adapter (Адаптер)

Adapter (Адаптер) относиться к классу структурных паттернов. Он используется для преобразования одного интерфейса в другой, необходимый клиенту. Адаптер обеспечивает совместимость несовместимых интерфейсов, реализуя прослойку. Принцип работы Адаптер наследует открытым способом целевой интерфейс (назовем его Target), и закрытым способом адаптируемый интерфейс (Adaptee). В…

Шаблоны проектирования (design patterns)

Шаблон проектирования (design pattern) — это общее типовое решение некоторой проблемы, многократно повторяемое в процессе проектирования архитектуры программного продукта. Они показывают отношения и взаимодействия между классами, позволяют сделать систему гибкой и легко изменяемой. За счет их правильного использования повышается коэффициент использования…