Skip to content

ALL-INTE1001 · interface_segregation

Judge whether clients depend on a focused contract.

This is a contextual rule for all languages. Read its implementation.

Compare interface members with the subsets used by each client and implemented meaningfully by each provider. Small size alone does not establish a focused interface. The criteria independently establish client usage, provider support, distinct subsets, split cost, and a facade boundary.

Findings cite members, client usage matrices, implementations, and candidate contract splits.

A cohesive facade may expose several operations when clients understand one unified capability.

A storage protocol forcing read-only clients to implement deletion is bloated. Separate read and write protocols are focused when their clients differ.

  • Cites “Design Principles and Design Patterns”, SOLID interface segregation principle
  • Cites “Building Maintainable Software”, write small interfaces
  • Cites “Fluent Python”, Interfaces, Protocols, and ABCs