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

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

#Преобразование целых чисел в битовый массив. (35738 hits)
#Динамическая очистка выпадающего списка (select) на javascript. (88007 hits)
#Случайный выбор элемента при неизвестном их количестве. (34934 hits)
#Вставка новой записи в таблицу БД. (35060 hits)
#Плоттеры для рисования графиков. (28287 hits)
#Полезные утилиты, небольшие api и библиотеки и проч.. (67857 hits)
#"The Java Programming Language" Ken Arnold, James Gosling, David Holmes листинги, код, примеры из книги, исходники. (59246 hits)
#Найти максимальную сумму в последовательности. (131076 hits)
#Числа Армстронга. (44495 hits)
#Доступ ко всем полям и методам. (56296 hits)
#Передача данных из основного во всплывающее-popup окно через POST. (114480 hits)
#Добавление истории операций(undo&redo) в компонент. (38259 hits)
#Рисование полусферы. (27218 hits)
#Рисование тора. (33082 hits)
#сортировка пузырьком. (150081 hits)
#Перестановка фрагментов строки(или одномерного массива). (58664 hits)
#Валидация, динамическая проверка заполнения html форм. (206787 hits)
#Переворот символов строки (или элементов одномерного массива). (109853 hits)
#Сортировка выбором, общий подход. (70475 hits)
#Вычисление минимального / максимального значения. (72557 hits)


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

Раздел Поведения, Паттерны

Всего: 11


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

В паттернах поведения уровня класса используется наследование - чтобы распределить поведение между разными классами. Из них более простым и широко распространенным является шаблонный метод, который представляет собой абстрактное определение алгоритма. Алгоритм здесь определяется пошагово. На каждом шаге вызывается либо примитивная, либо абстрактная операция. Алгоритм «обрастает мясом» за счет подклассов, где реализованы его абстрактные операции. Другой паттерн поведения уровня класса - интерпретатор, который представляет грамматику языка в виде иерархии классов и реализует интерпретатор как последовательность операций над экземплярами этих классов.

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

Паттерн цепочка обязанностей позволяет и дальше уменьшать степень связанности. Он дает возможность посылать запросы объекту не напрямую, а по цепочке «объектов-кандидатов». Запрос может выполнить любой «кандидат», если это допустимо в текущем состоянии выполнения программы. Число кандидатов заранее не определено, а подбирать участников можно во время выполнения.

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

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

все паттерны, расширенный поиск>>
Сортировать по: названию, числу реализаций, дате, популярности, рейтингу, страницы: 1 2
pattern#: 215 [раздел: Поведения | hits: 320272]
Паттерн: [8]
аннотация: Итератор – паттерн поведения объектов, предоставляющий последовательный доступ ко всем элементам составного объекта, не раскрывая его внутреннего...
 содержание: «Паттерн Iterator» Итератор – паттерн поведения объектов, предоставляющий последовательный доступ ко всем элементам составного объекта, не раскрывая его внутреннего представления.Известен также под именем Cursor (курсор). Повсеместно в коде приложения нам тем или иным...
Aвтор: [добавлена: ]
1
pattern#: 220 [раздел: Поведения | hits: 195780]
Паттерн: [5]
аннотация: Стратегия - паттерн поведения объектов, инкапсулирующий отдельные алгоритмы.
 содержание: «Паттерн Strategy» Стратегия - паттерн поведения объектов, инкапсулирующий отдельные алгоритмы. Также известен под именем Policy. Если в системе фигурируют различные алгоритмы, которые часто могут использоваться повторно в других частях, слоях приложения, было бы удобно...
Aвтор: [добавлена: ]
2
pattern#: 216 [раздел: Поведения | hits: 176730]
Паттерн: [6]
аннотация: Посредник - паттерн поведения объектов, предоставляющий единый центр взаимодействия определенной группы объектов.
 содержание: «Паттерн Mediator» Посредник - паттерн поведения объектов, предоставляющий единый центр взаимодействия определенной группы объектов, которые должны быть взаимосвязаны друг с другом. Определяет объект, инкапсулирующий способ взаимодействия множества объектов. ...
Aвтор: [добавлена: ]
3
pattern#: 218 [раздел: Поведения | hits: 173411]
Паттерн: [3]
аннотация: Наблюдатель - паттерн поведения объектов, устанавливающий систему оповещения объектами своих соседей в процессе их деятельности.
 содержание: «Паттерн Observer» Наблюдатель - паттерн поведения объектов, устанавливающий систему оповещения объектами своих соседей в процессе их деятельности. Известен также под именами: Dependents (подчиненные), Publish-Subscribe (издатель-подписчик). Очень часто в процессе функционирования...
Aвтор: [добавлена: ]
4
pattern#: 219 [раздел: Поведения | hits: 158742]
Паттерн: [5]
аннотация: Состояние - паттерн поведения объектов, задающий разную функциональность в зависимости от внутреннего состояния объекта.
 содержание: «Паттерн State» Состояние - паттерн поведения объектов, задающий разную функциональность в зависимости от внутреннего состояния объекта. Позволяет объекту варьировать свое поведение в зависимости от внутреннего состояния. Поскольку поведение может меняться...
Aвтор: [добавлена: ]
5
pattern#: 214 [раздел: Поведения | hits: 144939]
Паттерн: [8]
аннотация: Интерпретатор - паттерн поведения объектов, реализующий динамические алгоритмы с помощью декларативного описания.
 содержание: «Паттерн Interpreter» Интерпретатор - паттерн поведения объектов, реализующий динамические алгоритмы с помощью декларативного описания. В ряде случаев приложение на разных этапах выполнения использует одни и те же алгоритмы обработки данных, или, точнее, многие...
Aвтор: [добавлена: ]
6
pattern#: 222 [раздел: Поведения | hits: 144559]
Паттерн: [9]
аннотация: Посетитель - паттерн поведения объектов, задающий стратегии обхода.
 содержание: «Паттерн Visitor» Посетитель - паттерн поведения объектов, задающий стратегии обхода. Описывает операцию, которая должна быть выполнена над каждым объектом из некоторой произвольной структуры. Позволяет определить и задать на выполнение новую операцию, не изменяя ни...
Aвтор: [добавлена: ]
7
pattern#: 213 [раздел: Поведения | hits: 138741]
Паттерн: [5]
аннотация: Команда - паттерн поведения объектов, инкапсулирующий различные алгоритмы в единую сущность.
 содержание: «Паттерн Command» Команда- паттерн поведения объектов, инкапсулирующий различные алгоритмы в единую сущность. Встречается также под именами Action (действие), Transaction (транзакция). Инкапсулирует запрос на выполнение конкретной логики (алгоритма) – в виде объекта,...
Aвтор: [добавлена: ]
8
pattern#: 221 [раздел: Поведения | hits: 108965]
Паттерн: [1]
аннотация: Шаблонный метод - паттерн поведения объектов, определяющий конкретную функциональность в рамках абстрактных сущностей.
 содержание: «Паттерн Template Method» Шаблонный метод - паттерн поведения объектов, определяющий функциональность конктерных методов в рамках лишь абстрактных сущностей. Шаблонный метод определяет основу алгоритма в рамках абстрактных классов и методов, а подклассам позволяет...
Aвтор: [добавлена: ]
9
pattern#: 212 [раздел: Поведения | hits: 104364]
Паттерн: [4]
аннотация: Цепочка обязанностей - паттерн поведения, выстраивающий объекты составных частей приложения связанными между собой по цепочке.
 содержание: «Паттерн Chain of Responsibility» Цепочка обязанностей - паттерн поведения, выстраивающий объекты составных частей приложения связанными между собой по цепочке, для передачи запроса на обработку от более низких, детализированных слоев системы к более высоким глобальным. ...
Aвтор: [добавлена: ]
10
страницы: 1 2
<< назад +добавить Паттерн
Всего: 11