Wednesday, September 23, 2009

Adaptive Object Model

The Adaptive Object Model is a programming model that provides the ability to just describe an object and allow the interpreter to model the object for you. This avoids the need to compile a new object every time something new is added to a system, instead requiring just a description that can be added dynamically.

I found this pattern quite interesting, as it provides a lot of flexibility, with the cost of more work for the initial design and implementation. Maintenance and adding new features should be must simpler when this model is used for a system, but this only makes sense if there are potentially many different objects that may be added over time.

To avoid objects needing to know about other objects, abstractions are used to represent attributes and business rules. This allows different objects to have different attributes and ways of validating these attributes without requiring the interpreter to know about all the different possibilities. I can see this pattern being quite useful for certain situations.

No comments:

Post a Comment