Ne cherchez pas tendance
Toute solution de programmation standard pour un problème donné peut être considérée comme un modèle de conception, peu importe sa popularité, que les autres programmeurs les utilisent ou non.
Vous utilisez peut-être déjà un modèle de conception qui n'a pas encore été inventé / spécifié.
N'essayez pas de les utiliser, essayez de penser selon leurs termes
Le problème avec les modèles de conception est que parfois les programmeurs veulent y adapter leurs problèmes quand c'est l'inverse.
N'oubliez pas que les conventions de conception des modèles de conception ont un problème typique à résoudre. Vous pouvez même combiner des modèles de conception pour résoudre d'autres problèmes plus importants. C’est un peu typique des architectures orientées services, il suffit de voir quelques-uns des modèles de SOA qui existent .
Cherchez-les à l'état sauvage
Il existe de nombreux projets open source dans lesquels vous trouverez des modèles de conception appliqués. Joomla est un exemple qui me vient à l’esprit: vous trouverez des singletons , des observateurs . Les bibliothèques GUI auront le motif décorateur , motif de commande mis en œuvre, et peut - être même poids mouche .
Il existe d’autres modèles, tels que les modèles de données, par exemple le projet Doctrine seul, le modèle d’enregistrement actif (1.x), le modèle de gestionnaire d’entités (2.x), l’ unité de travail , le référentiel , l’objet de requête , le mappage de métadonnées , les données. la cartographie , et d'autres plus générales comme le modèle de stratégie et le modèle de décorateur .
Il y a tellement de solutions intéressantes à choisir. Voir Patterns of Enterprise Architecture de Martin Fowler , il existe également des modèles de modèle de données .
Il suffit de les apprendre pour le moment venu
Apprenez-les, connaissez-les, obsédez-les et, le moment venu, vous saurez résoudre le problème de programmation x, vous serez déjà un meilleur programmeur à ce moment-là.
Devenir architecte
Je dirais qu'être capable de penser selon un modèle pour résoudre des problèmes fait de vous un architecte de logiciel . Même si vous ne voulez pas être un architecte logiciel en tant que tel, vos solutions auront davantage de qualité technique, seront plus propres et auront une meilleure évolutivité - en termes de conception - par défaut.