The active object symbiont pattern is a structural pattern that
provides a means of dynamically adding output interfaces to a host
active object. The
A short statement that answers the following questions:
What does this design pattern do?
What is its rationale and intent?
What particular design issue or problem does it address?
Also Known As
Other well-known names for the pattern, if any.
A scenario that illustrates a design problem and how the class and
object structures in the pattern solve the problem. The scenario will
help you understand the more abstract description of the pattern that
What are the situations in which the design pattern can be applied?
What are examples of poor designs that the pattern can address? How can
you recognize these situations?
A graphical representation of the classes in the pattern using a
notation based on the Object Modeling Technique. We also use interaction
diagrams to illustrate sequences of requests and collaborations between
The classes and/or objects participating in the design pattern and
How the participants collaborate to carry out their responsibilities.
How does the pattern support its objectives? What are the trade-offs
and results of using the pattern? What aspect of system
structure does it let you var independently?
What pitfalls, hints, or techniques should you be aware of when
implementing the pattern? Are there language-specific issues?
Code fragments that illustrate how you might implement the pattern in
C++ or Smalltalk.
Examples of the pattern found in real systems. We include at least two
examples from different domains.
What design patterns are closely related to this one? What are the
important differences? With which other patterns should this one be used?