русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Шаблони Java

Шаблони Java передбачають:

1. Скрипт або клас, який визначається як спостерігач, може взаємодіяти з спостерігачем об'єктом. Повинні бути методи (додавання, видалення та хоча б один метод сповіщення).
Реалізацію інтерфейс спостерігача об'єкта, забезпечує роботу з колекцією спостерігачем, що реалізує клас.
3. Observer - інтерфейс, з допомогою якого об'єкт спостерігає за об'єктом.
4. Реалізацію інтерфейсу певних повідомлень, отриманих від спостережуваних класів.
Java.util - бібліотека, що містить клас Вами, за об'єктом якого можуть спостерігати об'єкти, реазилующие инферфейс.

 

Шаблон Command

Поведінковий шаблон Command (Action, Transaction) забезпечує обробку команди у вигляді об'єкта. Застосовується, коли необхідно відокремити джерело запиту від об'єкта, що відповідає на запит; дозволяє виконати підтримку таких операцій, як скасування, ведення журналу, операцій з транзакціями.

 

Шаблон Singleton

Виробляє шаблон Singleton забезпечує наявність в системі тільки одного примірника заданого класу, дозволяючи іншим класам отримувати до нього доступ. Застосовується, якщо потрібний об'єкт, доступ до якого можна здійснити з будь-якої точки програми, але щоб він створювався тільки один раз. Тобто до цього об'єкту повинні мати доступ всі елементи програми, але вони повинні працювати з одним і тим же екземпляром.

 

Шаблон Worker Thread

Обробний шаблон Worker Thread (Background Thread, Thread Pool) призначений для поліпшення пропускної здатності та мінімізація середньої затримки при реалізації паралельного виконання.

Для того, щоб реалізувати кошти підтримки багатопоточності коректно, необхідно володіти певними навичками. Один із способів максимізації ефективності багатопоточного програми полягає у використанні того факту, що не всі виконані у вигляді потоків завдання програми мають однаковий пріоритет. Для деяких завдань на першому місці стоїть час виконання. Інші ж просто повинні бути виконані, а коли саме це станеться виконання - не настільки важливо.

Розробник може відокремити подібні завдання від програми і скористатися шаблоном Worker Thread. Створений у відповідності з цим шаблоном обробник потоку буде вибирати з черги завдання і виконувати їх в окремому потоці. По закінченні черговий завдання обробник вибирає з черги наступне завдання і все повторюється спочатку.

Створення багатопоточного додатка при використанні шаблону Worker Thread значно спрощується, оскільки в тих випадках, коли не важливо, як скоро буде виконане завдання, розробнику досить просто помістити її в чергу, а все інше зробить обробник потоку. Програмний код такого додатка також спрощується, так як всі об'єкти, що працюють з потоками, приховані всередині обробника потоку і черги.

Шаблон Worker Thread рекомендується використовувати коли:

  • потрібно підвищити пропускну здатність програми;
  • необхідно забезпечити одночасне виконання різних фрагментів коду.

 

Шаблон Observer

Поведінковий шаблон Observer надає компоненту можливість гнучкої розсилки повідомлень зареєстрованим користувачам.

На певний об'єкт сконцентрована увага спостерігачів, зацікавлених в отриманні від нього якоїсь інформації. Зажадавши від спостерігають об'єктів, щоб вони встановлювали сеанси зв'язку з центральним об'єктом, можна значно зменшити накладні витрати на комунікацію, оскільки встановлювати зв'язок будуть тільки об'єкти, зацікавлені в отриманні оновленої інформації.

Гнучкість шаблону дозволяє застосовувати його для розсилки інформації як окремими, так і всіх компонентів системи.

У відповідності з цим шаблоном, генератори повідомлень (спостережувані компоненти) розсилають повідомлення, які представляють події в системі. Ці події обробляються одним або кількома одержувачами повідомлень (компоненти-спостерігачі). Спостережувані компоненти відповідають за доставку подій всім зацікавленим спостерігачам (тобто тим, які встановили сеанси зв'язку). Інтерфейс передачі повідомлень дозволяє спостережуваних компонентів деталізувати події для спостерігачів.

Якщо цей об'єкт багатопотоковий, він може підтримувати чергу повідомлень, пріоритети повідомлень, перекриття повідомлень і т.д.

Шаблон можна змінити, щоб спостерігачі самостійно отримували повідомлення: досліджуваний об'єкт сповіщає про те, що подія сталася, а зацікавлені спостерігачі викликають метод спостережуваного для отримання додаткової інформації про подію.

Переглядів: 4537

Повернутися взміст


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн