Let’s Make a Contract: The Art of Designing a Java API
An API is what developers use to achieve some task. More precisely it establishes a contract between them and the designers of the software exposing its services through that API. In this sense we’re all API designers: Our software…