Dependency inversion in architectural patterns
The article says dependency inversion is common in architectural patterns because it protects a core from change through interfaces or adapters. It distinguishes cases where suppliers follow a defined SPI from cases where adapters translate between incompatible APIs.