Interfacedriven
Interfacedriven, often written as interface-driven or interface-driven development, is a software design philosophy in which architecture and implementation are guided by clearly defined interfaces and contracts between components, services, or modules. The focus is on what components expose and how they communicate, rather than how they are internally implemented.
A core idea of interfacedriven design is to treat interfaces as first-class citizens. Interfaces specify responsibilities,
In practice, interfacedriven development often involves API-first or contract-first activities. Teams may begin by drafting interface
Benefits of this approach include clearer boundaries, improved testability, better modularity, and smoother collaboration across teams
Interfacedriven is often associated with API-first, contract-first, or interface-oriented design practices and is applied in contexts