CodeLAB
на главную карта сайта обратная связь

Популярные задачи:

#Сохранение данных формы после перезагрузки через куки. (204580 hits)
#qForms, библиотека типичного функционала валидации/построения/связки html-форм. (147305 hits)
#Разбор строки. (273348 hits)
#Таймер. (40785 hits)
#Вставка новой записи в таблицу БД. (36580 hits)
#Косинус. (39849 hits)
#Преобразование сумм из цифрового представления в строковое. (175701 hits)
#Случайный выбор элемента при неизвестном их количестве. (36696 hits)
#Работа с камерой. (35835 hits)
#Двусторонняя карта. (34053 hits)
#Вычисление среднего, среднего отклонения, среднеквадратического отклонения и дисперсии заданной выборки. (46441 hits)
#Замена символа строки. (443225 hits)
#Постепенное затемнение. (51351 hits)
#Плоттеры для рисования графиков. (29687 hits)
#Создание простейшей таблицы. (37133 hits)
#Предварительная загрузка изображений. (47212 hits)
#Отслеживание изменений файла. (37866 hits)
#Утилиты. (114411 hits)
#Сравнение алгоритмов быстрой сортировки. (73932 hits)
#Шифрование произвольных данных. (328774 hits)


Главная >> Каталог задач >> Паттерны >> Структурные

Раздел Структурные, Паттерны

Всего: 7


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

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

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

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

все паттерны, расширенный поиск>>
Сортировать по: названию, числу реализаций, дате, популярности, рейтингу, страницы: 1
pattern#: 206 [раздел: Структурные | hits: 180668]
Паттерн: [10]
аннотация: Мост – паттерн, оптимальным образом структурирующий используемые иерархии общих абстракций и их конкретных реализаций. Известен также под именем Handle/Body...
 содержание: «Паттерн Bridge» Мост – паттерн, оптимальным образом структурирующий используемые иерархии общих абстракций и их конкретных реализаций. Известен также под именем Handle/Body (описатель/тело). Главное назначение - отделить абстракцию от ее реализации так, чтобы то и...
Aвтор: [добавлена: ]
1
pattern#: 207 [раздел: Структурные | hits: 173697]
Паттерн: [7]
аннотация: Компоновщик - паттерн, структурирующий объекты таким образом, что появляется возможность унифицировано, одинаково обращаться с каждым из них.
 содержание: «Паттерн Composite» Компоновщик - паттерн, структурирующий объекты таким образом, что появляется возможность унифицировано, одинаково обращаться с каждым из них. Выстраивает различные объекты в древовидные структуры для представления любой части этой иерархии как единое...
Aвтор: [добавлена: ]
2
pattern#: 211 [раздел: Структурные | hits: 170233]
Паттерн: [4]
аннотация: Заместитель - паттерн, контролирующий доступ к объектам, предоставляя более оптимальное их взаимодействие.
 содержание: «Паттерн Proxy» Заместитель - паттерн, контролирующий доступ к объектам, предоставляя более оптимальное их взаимодействие. Разумно управлять доступом к объекту, поскольку тогда можно отложить расходы на создание и инициализацию до момента, когда объект...
Aвтор: [добавлена: ]
3
pattern#: 208 [раздел: Структурные | hits: 160705]
Паттерн: [4]
аннотация: Декоратор - паттерн, структурирующий объекты, добавляя, расширяя их функциональность. Также фигурирует под именем Wrapper.
 содержание: «Паттерн Decorator» Декоратор - паттерн, структурирующий объекты, расширяя их функциональность. Также фигурирует под именем Wrapper. Динамически расширяет функциональность объекта, добавляет ему новые обязанности. Гибкая альтернатива наследованию, когда подклассы...
Aвтор: [добавлена: ]
4
pattern#: 209 [раздел: Структурные | hits: 157889]
Паттерн: [7]
аннотация: Фасад - паттерн, структурирующий объекты, предоставляя ко всем ним доступ через единый шлюз.
 содержание: «Паттерн Facade» Фасад - паттерн, структурирующий объекты, предоставляя ко всем ним доступ через единый шлюз. Предоставляет единый, унифицированный интерфейс ко всей некоторой подсистеме вместо набора отдельных и многочисленных интерфейсов. Фактически, фасад...
Aвтор: [добавлена: ]
5
pattern#: 205 [раздел: Структурные | hits: 144417]
Паттерн: [4]
аннотация: Адаптер – паттерн, унифицирующий классы и объекты. Преобразует интерфейс одного класса в интерфейс другого, который ожидают клиенты.
 содержание: «Паттерн Adapter (или Wrapper)» Адаптер – паттерн, унифицирующий классы и объекты. Преобразует интерфейс одного класса в интерфейс другого, который ожидают клиенты. Т.о. адаптер обеспечивает совместную работу классов с несовместимыми интерфейсами, которая без него была...
Aвтор: [добавлена: ]
6
pattern#: 210 [раздел: Структурные | hits: 117020]
Паттерн: [9]
аннотация: Приспособленец - паттерн, структурирующий объекты таким образом, что из них инстанцируется всего лишь ограниченный необходимый набор экземпляров вместо всего...
 содержание: «Паттерн Flyweight» Приспособленец - паттерн, структурирующий объекты таким образом, что из них инстанцируется всего лишь ограниченный необходимый набор экземпляров вместо всего большого множества. Решает задачу предотвращения инстанцирования большого количества...
Aвтор: [добавлена: ]
7
страницы: 1
<< назад +добавить Паттерн
Всего: 7