Next: Related Patterns
Up: External Polymorphism An Object
Previous: Sample Code
The External Polymorphism pattern has been used in the following systems:
- The ACE framework uses the pattern to register ACE objects in a
Singleton in-memory object database. This database stores the state
of all live ACE objects and can be used by debugger to dump this
state. Since many ACE classes are concrete data types it was not
possible to have them inherit from a common root base class containing
virtual methods.
- The DV-Centro C++ Framework for Visual Programming
Language development from DV Corporation uses the External
Polymorphism pattern to create a hierarchy around unrelated internal
system classes.
- The Universal Streaming System from ObjectSpace's
Systems<Toolkit> uses the External Polymorphism pattern to
implement object persistence via streaming.
- A variation of this pattern was independently discovered and is
in use at Morgan Stanley, Inc. in internal financial services
projects.
- This pattern has been used in custom commercial projects where
code libraries from disparate sources were required to have a more
common, polymorphic interface. The implementation of the pattern
presented a united interface to classes from a locally-developed
library, the ACE library, and various other ``commercial'' libraries.
- The idea for the signature adapter
came from usage in the OSE class
library.
In OSE, template functions are used to
define collating algorithms for ordered lists, etc.
Chris Cleeland
Tue Oct 22 01:20:58 CDT 1996