Активный объект (шаблон проектирования)
Активный объект (англ. Active object) — это шаблон проектирования, который отделяет поток выполнения метода от потока, в котором он был вызван[1]. Целью данного шаблона является предоставление параллельности выполнения используя асинхронные вызовы методов и планировщик обработки запросов[2].
Активный объект | |
---|---|
Active Object | |
Описан в Design Patterns | Нет |
Этот шаблон состоит из шести элементов[3]:
- Объект-заместитель (proxy), который предоставляет интерфейс к публично-доступным методам клиента.
- Интерфейс, который определяет методы доступа к активному объекту.
- Список поступающих запросов от клиентов.
- Планировщик (scheduler), который определяет порядок выполнения запросов.
- Реализация методов активного объекта.
- Процедура обратного вызова (callback) или переменная (variable) для получения клиентом результата.
См. также
Литература
- Douglas C. Schmidt; Michael Stal, Hans Rohnert, and Frank Buschmann. 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). Дата обращения: 2 февраля 2007. Архивировано 24 сентября 2012 года.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.