Depuis les débuts de la programmation, tout un tas de développeurs ont rencontré différents problèmes de conception. La plupart de ces problèmes étaient récurrents. Pour éviter aux autres développeurs de buter sur le même souci, certains groupes de développeurs ont développé ce qu'on appelle des design patterns (ou masques de conceptions en français). Chaque design pattern répond à un problème précis. Comme nous le verrons dans ce chapitre, certains problèmes reviennent de façon récurrente et nous allons utiliser les moyens de conception déjà inventés pour les résoudre.
Ce chapitre est donc divisé en plusieurs sous-parties où chacune répond à un problème précis. Nous procèderons ainsi par étude de cas en posant le problème puis en le résolvant grâce aux moyens de conception connus.