Evolving the API Universe
From APIDesign
(New page: Designing is done once a time, the real work in to maintain what we have designed previously.) |
(→Have You Ever Wondered...?) |
||
(6 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | + | == [[Have You Ever Wondered]]...? == | |
+ | |||
+ | Have you ever were afraid to release your API because you knew the implementation behind it is not good enough? Have you been afraid of the API's future? Of numerous bugs, each creating another incompatibility? [[Evolving the API Universe|Chapter 15]] explains that you do not have to! If you design your API to be ready for evolution, you can resuscitate even bad design of your broken libraries without doing incompatible changes. All that is needed is to know the right way of introducing [[AlternativeBehaviour|alternative behaviours]] and also knowing how to allow coexistence of similar APIs. | ||
+ | |||
+ | This [[Evolving the API Universe|chapter]] also shortly mentions [[Singletonizer]], an interesting creational [[APIDesignPatterns|API design pattern]]. However more information is available [[Singletonizer|online]]. | ||
+ | |||
+ | Section ''Resuscitating Broken Libraries'' also introduces testing style to guarantee full [[BackwardCompatibility]] when rewriting implementation behind existing [[API]] - the [[ImplementationCompatibilityTest]]. |
Current revision
Have You Ever Wondered...?
Have you ever were afraid to release your API because you knew the implementation behind it is not good enough? Have you been afraid of the API's future? Of numerous bugs, each creating another incompatibility? Chapter 15 explains that you do not have to! If you design your API to be ready for evolution, you can resuscitate even bad design of your broken libraries without doing incompatible changes. All that is needed is to know the right way of introducing alternative behaviours and also knowing how to allow coexistence of similar APIs.
This chapter also shortly mentions Singletonizer, an interesting creational API design pattern. However more information is available online.
Section Resuscitating Broken Libraries also introduces testing style to guarantee full BackwardCompatibility when rewriting implementation behind existing API - the ImplementationCompatibilityTest.