Architecture & practice·Complexity and how it accumulates
there is an interface, a factory and a strategy, and exactly one implementation of each.
Speculative generality
Also calledpremature abstraction
Structure built for requirements that were imagined rather than observed. It is YAGNI's visible residue in the codebase: hooks with no callers, configuration with one value, a generic type parameter that is always the same type. Every piece of it is a thing the next reader must understand and cannot delete without proving nobody uses it, which is why it survives long after the imagined requirement is forgotten.