Modular design
Modular design is a software design approach that emphasizes the separation of concerns and the creation of self-contained, reusable components.
A key focus of modular design is to hide [complexity] through [abstraction], and to support the [reusability] of units of code.
See also [modularity].