Доска (шаблон дизайна) - Blackboard (design pattern)
В программная инженерия, то классная доска это шаблон поведенческого проектирования[1] который обеспечивает вычислительную основу для проектирования и реализации систем, которые объединяют большие и разнообразные специализированные модули и реализуют сложные недетерминированные стратегии управления.[2][1]
Эта закономерность была выявлена членами СЛУХ-II проект и впервые подал заявку на распознавание речи.[2]
Структура
Модель классной доски определяет три основных компонента:
- blackboard - структурированная глобальная память, содержащая объекты из пространства решений
- источники знаний - специализированные модули с собственным представлением
- компонент управления - выбирает, настраивает и запускает модули.[2]
Выполнение
Первый шаг - спроектировать пространство решений (то есть потенциальные решения), ведущее к структуре доски. Затем определяются источники знаний. Эти два вида деятельности тесно связаны.[2]
Следующим шагом является определение управляющего компонента; обычно он принимает форму сложного планировщика, который использует набор зависящих от предметной области эвристик для оценки релевантности исполняемых источников знаний.[2]
Приложения
Домены использования включают:
- распознавание речи
- идентификация и отслеживание транспортных средств
- структура белка идентификация
- сонар интерпретация сигналов.[2]
Последствия
Шаблон классной доски обеспечивает эффективные решения для проектирования и реализации сложных систем, в которых для решения проблемы необходимо динамически комбинировать разнородные модули. Это обеспечивает нефункциональные свойства, такие как:
- возможность повторного использования
- изменчивость
- надежность.[2]
Шаблон «классная доска» позволяет нескольким процессам работать вместе в отдельных потоках, при необходимости опрашивая и реагируя.[1]
Пример
Пример шаблона Blackboard был предоставлен Microsoft.