La conception objet consiste à découper un problème en classes aux responsabilités claires, à choisir entre héritage, composition et interfaces, et à réduire le couplage. Chaque classe a une seule raison de changer et on dépend d'abstractions plutôt que d'implémentations concrètes.