Безкоштовно

Паттерн Pipes-and-Filters

views 138

Призначення паттерна Pipes-and-Filters

  • Під час обробки потоків даних, кожен крок обробки здійснюється за допомогою фільтрів, з’єднаних каналами передачі даних.
  • Підключення фільтрів в різній комбінації дає різні способи обробки потоків даних.

Приклад паттерна Pipes-and-Filters

Мал 1. Парсер мови програмування

Проблеми паттерна Pipes-and-Filters

– Обробка потокових даних, природно підрозділяються на кілька етапів.

– Може знадобитися розбиття завдання на етапи.

– Виконання різних етапів на різних процесорах.

– Повідомлення: Стандартизація структур даних між етапами.

Рішення паттерна Pipes-and-Filters

– Фільтр це послідовний етап обробки даних.

– Введення з джерела даних.

– Виведення до результату.

– Послідовність взаємодії фільтрів від джерела даних до виводу даних називається  трубопроводом.

Структура паттерна Pipes-and-Filters

– Фільтр є блок обробки даних, який використовується в трубопроводі.

– Труби визначають зв’язок між фільтрами, між джерелом даних і першим фільтром, а також між останнім фільтром і виводом даних.

– Джерело даних забезпечує програму необхідними даними.

– Результуючі дані збирають результати з кінця трубопроводу.

Функціональність паттерна Pipes-and-Filters

Сценарій 1

Сценарій 2

Сценарій 3

Сценарій 4

Переваги паттерна Pipes-and-Filters

– Не використовувати проміжні файли для збереження  проміжних результатів.

– Можна легко замінити фільтри.

– Якщо потік даних має стандартний формат, фільтри можуть бути розроблені незалежною.

– Додаткові фільтри дозволяють розпаралелювання.

Недоліки паттерна Pipes-and-Filters

– Важко використовувати глобальні данні.

– Розпаралелювання менш корисне, ніж може здатися.

– Використання фільтрів знижує ефективність передачі данних.

– Важко зрозуміти, що робити з помилками.

Написати коментар:

Ваша пошт@ не публікуватиметься. Обов’язкові поля позначені *