AI reviewed · sources pending. Book associations have not been verified.

Orthogonality in software design

Vocabulary

Orthogonal components can be changed with limited effects on unrelated components.

Explanation or usage

Orthogonality in software design means that components or responsibilities are sufficiently independent that a change in one has limited effects on unrelated parts. Clear boundaries can reduce the number of places that need updating. Dependencies may still exist and should be explicit rather than hidden.

Common misunderstandings

Orthogonality means no components may communicate or share any dependency.

In The Pragmatic Programmer

General context reviewed · book attribution and sources pending

An illustrative application can help assess how a change in one component propagates to others, showing how orthogonal design limits unrelated effects.

Linked books