Home

Visitor

Предоставляет удобный и единообразный способ обработать разнородные узлы структуры данных любой сложности, при этом, обеспечивая разделение кода, обрабатывающего узлы и собственно кода узлов.

Read more

Strategy

Определяет и инкапсулирует набор алгоритмов, тем самым позволяя изменять алгоритм независимо от клиента, который делегирует ему свои функции.

Read more

Observer

Организует уведомление нескольких подписчиков, заинтересованных в отслеживании изменения состояния компонента, путем регистрации подписчиков в компоненте.

Read more

Mediator

Из группы сложно взаимосвязанных классов предлагает выделить отдельный класс-медиатор, который будет отслеживать взаимное изменение состояний и инкапсулировать код, обрабатывающий взаимодействия, до этого происходящие напрямую.

Read more

Chain of responsibility

Chain of responsibility позволяет выстроить гибкую цепочку из обработчиков команды, каждый из которых принимает независимое решение об обработке и/или передаче следующему обработчику по цепочке.

Read more

Decorator

Decorator незаметно для клиента расширяет (модифицирует) функциональность объекта путем реализации интерфейса оригинального объекта и делегирования ему вызовов.

Read more

Bridge

Bridge предлагает разделить иерархию классов на две независимые, но взаимосвязанные структуры, одна из которых представляет абстракцию, а другая — реализацию и связать абстракцию с реализацией через композицию (has a).

Read more

Factory Method (GoF)

Factory Method в интерпретации GoF предоставляет метод, который служит для получения продукта, определяемого интерфейсом. Этот метод позволяет подклассам переопределять конкретный тип этого продукта.

Read more

Factory Method (Mark Grand)

Factory Method в интерпретации Mark Grand позволяет создавать различные конкретные типы продукта, определенного интерфейсом, при этом оставить независимыми клиента продукта и его производителя.

Read more

Abstract Factory

Abstract Factory обеспечивает возможность создания различных типов семейств взаимосвязанных или зависящих друг от друга объектов без указания конкретных классов. Этим объектам соответствует набор связанных интерфейсов, которые реализуют создаваемые объекты.

Read more