Active Object

From Wikipedia, the free encyclopedia

The Active Object design pattern decouples method execution from method invocation that reside in their own thread of control.[1] The goal is to introduce concurrency, by using asynchronous method invocation and a scheduler for handling requests.[2]

The pattern consists of six elements[3]:

  • a proxy, which provides an interface towards clients with publicly accessible methods
  • an interface which defines the method request on an active object
  • a list of pending requests from clients
  • a scheduler, which decides which request to execute next
  • the implementation of the active object method.
  • a callback or variable for the client to receive the result.


[edit] References

  1. ^ D, Schmidt; M., Rohnert, H., Buschmann, F. (2000). Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects. John Wiley & Sons. ISBN 0-471-60695-2. 
  2. ^ Bass, L., Clements, P., Kazman, R. Software Architecture in Practice. Addison Wesley, 2003
  3. ^ Lavender, R. Greg; Schmidt, Douglas C.. Active Object (PDF). Retrieved on 2007-02-02.