Eleven exception classes, all extending one application root, and no intermediate types — which turned out to be right. An intermediate class exists so a caller can catch…
One supplier, two API versions running simultaneously during their own migration, and a translation layer built for one shape. The layer had assumed one upstream shape at a…
An OrderPlaced event carrying a formatted currency string, which is a decision about a locale baked into a permanent record. The formatted string was convenient for the one…
Versioning the representation rather than the code, so the business logic exists once. Duplicating the controller is the obvious move and it duplicates the authorisation, the loading and…