La plupart des développeurs grinceront des dents à tout nouveau paradigme ou méthodologie qui entre en jeu. Je l'ai fait quand j'ai entendu parler des modèles de conception pour la première fois. Les modèles de conception sont exactement ce que leur nom suggère: une conception ou un modèle pour créer des classes et modéliser leur comportement et leur interaction de manière prévisible
Jetez un œil aux maisons. Ils ont quelques similitudes. Chaque maison a un séjour, une cuisine, une chambre, une salle de bains, des toilettes pour un minimum. Personne ne construira une maison sans salle de bain, non? Les appartements ont un modèle différent des bunglows. Les châteaux ont un modèle complètement différent. Les vêtements aussi ont des motifs. Une veste et une chemise formelle ont toutes deux le même design de base, mais elles ont des comportements différents: vous ne porterez pas de veste de cow-boy pour une interview. De même, les classes et leurs actions peuvent être regroupées en fonction de leur comportement et de leur conception. En regardant les éléments communs dans leurs comportements, vous obtenez des modèles de conception pour les classes.
À mon sens, les modèles de conception ne sont importants que si la réutilisabilité et l'extensibilité sont les principales préoccupations. Si vous créez de petites applications (disons moins de 10 classes), vous n'en aurez peut-être pas du tout besoin. Mais les grands projets, en particulier ceux qui ont de grandes équipes qui y travaillent et qui ont une longue maintenance et des cycles d'ajout de fonctionnalités, auront certainement besoin de modèles. Ce n'est même pas une option dans les grands projets.
Jetez un œil à quelques tutoriels en ligne sur les modèles. Wikipedia a une bonne série d'articles. Ce site est bon aussi: http://sourcemaking.com/ . Si vous êtes un programmeur expérimenté, vous constaterez que vous avez rencontré quelques modèles, peut-être même mis en œuvre quelque chose de similaire vous-même sans le savoir sous un nom particulier.
Ne les ignorez pas complètement! Vous les trouverez peut-être utiles à l'avenir, sinon maintenant. La clé pour aborder les modèles de conception avec un esprit ouvert est de demander: "Que se passera-t-il si je n'utilise pas de modèles de conception?" Les modèles ne sont pas conçus comme des «remèdes» (bien que vous puissiez les utiliser comme remède à un problème); ils incarnent plutôt le dicton "mieux vaut prévenir que guérir".
Tout de même, je mettrais en garde contre une obsession de mettre en œuvre des modèles où et quand vous voyez un petit prétexte pour l'utiliser. J'ai rencontré ce problème dans un projet où l'architecte était convaincu que sans DP, le projet serait un désastre complet. Nous avons eu une réunion de groupe où les ingénieurs ont changé de conception et ont souligné que de nombreux modèles qu'il recommandait n'auraient aucune utilité autre que de montrer "wow look at the beautiful patterns". Il a fallu beaucoup de convaincant et quelques négociations pour réduire le nombre de lieux où les modèles étaient utilisés uniquement en fonction des besoins.