Les modèles de conception orientés objet peuvent améliorer considérablement la qualité de vos projets. Par exemple, le modèle Singleton garantit qu’une seule instance d’une classe existe dans le programme et fournit un point d’accès global à celle-ci. Ceci est utile lorsque vous devez contrôler l’accès et l’utilisation d’une ressource partagée, telle qu’une connexion à une base de données. Le modèle Factory définit une interface pour la création d’objets et permet aux sous-classes de décider de la classe à instancier. Ceci est utile lorsque vous devez créer des objets sans exposer la logique de création au client, ou lorsque vous devez créer différents objets en fonction d’une condition ou d’un paramètre. Le modèle Observer définit une relation un-à-plusieurs entre les objets où un objet (Le sujet) notifie ses observateurs (Les abonnés) lorsque son état change. Cela est utile lorsque vous devez implémenter des systèmes pilotés par les événements, tels que des interfaces utilisateur, le traitement des données ou des notifications. Enfin, le modèle Stratégie définit une famille d’algorithmes, les encapsule dans des classes distinctes et les rend interchangeables. Ceci est utile lorsque vous devez modifier le comportement d’un objet au moment de l’exécution ou lorsque vous avez plusieurs façons d’effectuer la même tâche.