Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Структурные паттерны проектирования классов и объектов



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

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

Заместитель (суррогат). Решает проблему управления доступом к объекту с целью создания громоздких объектов по требованию. Создается объект-заместитель, в обязанностях которого хранение ссылок на реальный объект, интерфейс заместителя полностью идентичен реальному объекту, при этом на заместителя возлагаются дополнительные контроля доступа к объекту.

Удаленный заместитель: кодирование запроса и его аргументов и отправку в закодированном виде реальному объекту. Виртуальный: кэширование доп. инф-ии о реальном субъекте и создавать его позже. Защищающий проверяет права доступ к объекту и корректность передаваемых данных.

Мост. Решает проблему отделения абстракции от реализации так, чтобы и то и другое м.б. изменять независимо. Клиент обращается к объекту абстракции, который выполняет ф-ии через интерфейс реализации.

Приспособленец. Решает проблему поддержки множества мелких объектов. Моделирует сущности, число которых слишком велико для представления объектом. Имеет смысл, если: приложение использует много объектов; большую часть состояния объектов можно вынести вовне. Это позволяет уменьши количество базовых классов и сэкономить ресурсы.

Фасад. Обеспечивает унифицированный интерфейс с набором разрозненных реализаций при невысокой связанности с подсистемой реализации. Это объект, обеспечивающий единую точку входа, при этом фасад закрывает реализацию компонентов подсистемы от внешних компонентов. Фасадный объект обеспечивает и защиту внутренних компонентов от изменений.





Дата публикования: 2015-02-03; Прочитано: 190 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...