The ability for methods to be generalized to be reused for different cases. Software is organized into independent and interchangable modules. A property of Clean Code.

Requires low Coupling and high Cohesion.

Also ensures code conforms to:

Concepts