November 2022
Intermediate to advanced
544 pages
15h 47m
English
This chapter covers patterns eligible when APIs change over time. Most successful APIs do evolve; compatibility and extensibility are somewhat conflicting requirements that have to be balanced during the API life cycle. Clients and providers might not agree on the most efficient mix. Keeping multiple versions supported is costly; full backward compatibility might be desired. However, it is usually harder to achieve in practice as it seems. Poor evolution decisions might disappoint customers (and their API clients) and stress providers (and their developers).
We first motivate the need for evolution patterns and then present those we found in practice: two patterns for versioning and compatibility management and four patterns ...