A system with a Dynamic Object Model allows the types of objects to change at runtime. This includes adding new types, changing existing ones, and changing the relationships between types. Taken together, all types and their relationships form a domain-specific model. Underlying such a dynamic object model is a framework that acts much like a domain-specific modeling language. Dynamic Object Model is a compound pattern that at its core composes the Type Object, Property List, and Value Holder patterns.
Dirk Riehle, Michel Tilman, and Ralph Johnson. "Dynamic Object Model." In Proceedings of the 2000 Conference on Pattern Languages of Programs (PLoP 2000). Washington University Technical Report number WUCS-00-29. Washington University, 2000.
This paper has been superseded by a newer revised version published in PLoPD 5.