'. '

ProviderAPI

From APIDesign

Revision as of 20:29, 22 October 2008 by JaroslavTulach (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Rules for extending API designed for implementors are very different to those for API that can only be called. In case you have a provider that implements your interface at a given time, the obvious expectation of that person seems to be that the once provided implementation, written and potentially compile once, will continue to work forever.

The easiest way to break this promise is to add new non-implemented methods into the type. As such do not add new methods to interfaces or abstract classes implemented by some providers. This immediately breaks the promise of source BackwardCompatibility.

Personal tools
buy