Цепочка обязанностей (Chain of Responsibility) представляет собой поведенческий шаблон проектирования, который позволяет организовать в системе уровни ответственности. Как это выглядит на практике?
Цепочка обязанностей (Chain of Responsibility) представляет собой поведенческий шаблон проектирования, который позволяет организовать в системе уровни ответственности. Как это выглядит на практике?
Proxy — это структурный паттерн проектирования, предоставляющий объект, который, в свою очередь, контролирует доступ к другому объекту путем перехвата всех вызовов. Также можно сказать, что шаблон "Заместитель" выполняет функцию контейнера. Рассмотрим примеры его реализации и использования.
В случае использования структурного шаблона проектирования "Приспособленец", объект, который представляет себя в разных местах программы как уникальный экземпляр, по факту таковым не является.
Декоратор представляет собой структурный шаблон проектирования, который позволяет динамически подключать к объекту дополнительное поведение. По сути, это более гибкая альтернатива практике по созданию подклассов с целью расширения функциональности.
Фасад представляет собой структурный шаблон проектирования, который дает возможность скрыть сложность системы посредством сведения всевозможных внешних вызовов к одному объекту, делегирующему эти вызовы соответствующим объектам системы.
Компоновщик — это структурный шаблон проектирования, который объединяет объекты в древовидную структуру, обеспечивая тем самым представление иерархии от частного к целому. Composite позволяет клиентам одинаково обращаться как к отдельным объектам, так и к группам объектов.
Мост — структурный шаблон, который применяется в проектировании ПО для разделения абстракции и реализации таким образом, чтобы они могли меняться независимо друг от друга. Этот шаблон использует инкапсуляцию и агрегирование, а также, если требуется разделение ответственности между классами, может использовать наследование.
В структурных шаблонах проектирования рассматривается вопрос о том, каким образом из классов и объектов формируются более крупные структуры. Иными словами, структурные шаблоны, как правило, связаны с композицией объектов и с тем, как именно сущности могут использовать друг друга. По сути, они помогают узнать ответ на вопрос «Как создать программный компонент?» Один из таких шаблонов — «Адаптер» (Adapter).
Шаблон проектирования Singleton также называют шаблоном проектирования «Одиночка». Это порождающий шаблон, который гарантирует, что в однопроцессном программном приложении будет лишь один экземпляр некого класса. Также шаблон предоставляет глобальную точку доступа к вышеупомянутому единственному экземпляру.
Строитель представляет собой порождающий шаблон проектирования, с помощью которого можно создать составной объект. Этот паттерн предназначается для решения проблемы антипаттерна «Телескопический конструктор».