Interface-Based Design

Kind: principle

Layer: Contracts Core

Record: architecture:interface-based-design

Severity: recommended

Scope: class, module, service

Canonical: Ontology

A design rule that a module depends on interfaces, and the implementation behind each one is supplied from outside.

Listed in Architecture principles, after Stable Interfaces and before Contract-First Design.

Requires

Reinforces

Enables

Conflicts with

In tension with

Tensions

Violated by

Refactored by

Severity

Category

Required by

Linked from