|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Тема 6. Паттерни поведінкиПаттерни поведінки (поведінкові паттерни), як видно з назви, служать для керування різними варіантами поведінки системи об’єктів (класів) [10]. Паттерни поведінки розглядають питання про зв’язки між об’єктами і розподілом обов’язків між ними. Для цього можуть використовуватися механізми, засновані як на спадкуванні, так і на композиції. Паттерни поведінки пов’язані з алгоритмами і розподілом обов’язків між об’єктами. Мова в них іде не тільки про самі об’єкти і класи, але і про типові способи взаємодії. Паттерни поведінки характеризують складний потік управління, який важко простежити під час виконання програми. Увагу акцентовано не на потоці управління як такому, а на зв’язках між об’єктами. В паттернах поведінки рівня класу спадкування використовується, щоб розподілити поведінку між різними класами. З них найбільш простим і поширеним є Шаблонний метод, який є абстрактним визначенням алгоритму. Алгоритм тут визначається покроково. На кожному кроці викликається або примітивна, або абстрактна операція. Алгоритм розширюється за рахунок підкласів, де визначено абстрактні операції. Інший паттерн поведінки рівня класу – Інтерпретатор, який представляє граматику мови у вигляді ієрархії класів і реалізує інтерпретатор як послідовність операцій над примірниками цих класів. Частота його використання дуже низька, тому в цьому посібнику він розглядатися не буде. В паттернах поведінки рівня об’єктів використовується не наслідування, а композиція. Деякі з них описують, як за допомогою кооперації безліч рівноправних об’єктів справляється з завданням, що ні одному з них не під силу. Важливо тут те, як об’єкти отримують інформацію про існування один одного. Об’єкти-колеги можуть зберігати посилання один на одного, але це збільшує ступінь зв’язності системи. При максимальному ступені зв’язності кожному об’єкту довелося б мати інформацію про всіх інших. Цю проблему вирішує паттерн Посередник. Посередник, що знаходиться між об’єктами-колегами, забезпечує опосередкованість посилань, необхідну для розривання зайвих зв’язків. Паттерн Ланцюжок відповідальностей (Chain of Responsibility) Призначення. Паттерн Ланцюжок відповідальностей – це паттерн поведінки, який використовується для забезпечення почергової передачі роботи від одного класу до іншого й так далі, аж до поки робота не буде виконана [11]. Частота використання Мотивація застосування. Паттерн Chain of Responsibility дозволяє: - уникнути жорсткої залежності відправника запиту від його одержувача, при цьому запит може бути оброблений кількома об’єктами. Об’єкти-одержувачі зв’язуються в ланцюжок. Запит передається по ланцюжку, поки не буде оброблений; - вводити конвеєрну обробку запиту з безліччю можливих обробників; - створити об’єктно-орієнтований зв’язаний список із рекурсивним обходом. Використовуйте паттерн Ланцюжок відповідальностей, якщо: - є більше одного об’єкта, здатного обробити запит, причому цей обробник заздалегідь невідомий і повинен бути знайдений автоматично; - ви хочете відправити запит одному з декількох об’єктів, не показуючи явно, якому саме; - набір об’єктів, здатних обробити запит, повинен задаватися динамічно. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |