DelegationAndComposition

From APIDesign

Revision as of 09:28, 1 April 2009 by JaroslavTulach (Talk | contribs)
Jump to: navigation, search

Delegation and composition is one way to achieve code reuse. In classical object oriented languages it is sort of second class citizen, but that does not mean it is less powerful. Quite opposite.

While reuse by subclassing often leads to accidental reuse (as demonstrated in ClarityOfAccessModifiers essay). The delegation and composition is as powerful as subclassing, yet it implies reuse by design as one clearly needs to think about allowing composition - more about that for example in ClarityOfTypes.

TBD: clear definition of version
TBD: Separation of ClientAPI and ProviderAPI
TBD: post/pre condition checks.
Personal tools
buy