Compound Object Programming

If a CompoundPattern is a DesignPattern made up of multiple DesignPatterns then CompoundObjects would be concrete realizations of the abstract idea of a CompoundPattern, and CompoundObjectProgramming would be the act of creating, extending, and leveraging CompoundObjects.

CompoundObjectProgramming has many similarities to regular object-oriented programming. There can be encapsulation, the grouping of otherwise distinct language constructs into a singular entity, i.e. the class library. There can be inheritance, the layering of specialized capability on top of generic mechanisms, i.e. the library that links against another library. And there can be selective derivation, where choices are made as to exactly which patterns and classes of the base mechanism are to be overridden, which are to be reused untouched, and which are to be wrapped or altered with other mechanism.


Related to LayeredFrameworks, but with a focus on SourceComponents instead of the binary-deployment schemes of ComponentDesignPatterns.

Similar to the "virtual classes" described in this article:

An example can be found in the many layers of ivtools ( and vhclmaps ( built on top of the UnidrawFramework which incrementally specialize the TooledComposite pattern at its core.

See Also: JwamFramework, ModelViewControllerAsAnAggregateDesignPattern

View edit of March 11, 2002 or FindPage with title or text search