Modular Design

The Whole program is broken up into small fairly independent things.

A design principle: Isolate different parts of a program that address different concerns.
A modular component can be developed and tested independently.