- Active Object
-
Активный объект (active object) — это шаблон проектирования, который отделяет поток выполения метода от потока, в котором он был вызван.[1] Целью данного шаблона является предоставление параллельности выполнения используя асинхронные вызовы методов и планировщик обработки запросов.[2]
Этот шаблон состоит из шести элементов:[3]
- Объект-заместитель (proxy), который предоставляет интерфейс к публично-доступным методам клиента.
- Интерфейс, который определяет методы доступа к активному объекту.
- Список поступающих запросов от клиентов.
- Планировщик (scheduler), который определяет порядок выполнения запросов.
- Реализация методов активного объекта.
- Процедура обратного вызова (callback) или переменная (variable) для получения клиентом результата.
См. также
Литература
- ↑ Douglas C. Schmidt Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects. — John Wiley & Sons, 2000. — ISBN 0-471-60695-2
- ↑ Bass, L., Clements, P., Kazman, R. Software Architecture in Practice. Addison Wesley, 2003
- ↑ Lavender, R. Greg; Schmidt, Douglas C. Active Object (PDF). Архивировано из первоисточника 24 сентября 2012. Проверено 2 февраля 2007.
Категория:- Шаблоны проектирования
Wikimedia Foundation. 2010.