Une conception simple, réfléchie et intentionnelle amène à un code facile à comprendre, modifier et tester.
L'application des principes SOLID est une ligne directrice pour ce type de conception.
Les principes SOLID sont les suivants :
responsabilité unique ;
principe ouvert/fermé ;
substitution de Liskov ;
ségrégation des interfaces ;
inversion des dépendances.