DEV Community

joaofelipefaria
joaofelipefaria

Posted on

[FR] Design patterns : d'où viennent-ils ?

Une discussion sur les patrons de conception

L'un des sujets qui suscitent le plus de curiosité (et de confusion) chez les personnes qui entrent dans le monde du développement, ce sont les design patterns. Dans cette petite discussion, je vais essayer de clarifier quelques points sur les patrons de conception.

Qu'est-ce qu'un design pattern ?

Les design patterns sont des solutions techniques utilisées pour résoudre des problèmes récurrents du développement logiciel. Parmi les plus connus et les plus cités dans les conversations sur le logiciel, on trouve : Factory, DAO, DTO, Message Outbox et Pub/Sub.

Là où commence la confusion

C'est ici que la confusion commence. Beaucoup de jeunes développeurs, ne connaissant pas l'origine de ces patterns, ne réalisent pas qu'ils viennent de mondes totalement différents. Avant de nous mettre à les définir, comprenons donc les principaux groupes et d'où ils sont issus.

Les patterns GoF : la programmation orientée objet

Les patterns GoF sont des patrons pour la programmation orientée objet. Le nom vient du « Gang of Four » (Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides), auteurs du livre Design Patterns: Elements of Reusable Object-Oriented Software, publié en 1994. Parmi les principaux : Singleton, Factory Method et Observer.

Les JEE BluePrint Patterns : les applications web

Les JEE BluePrint Patterns sont des patrons pour le développement d'applications web d'entreprise. Ils sont nés dans l'écosystème Java EE (anciennement J2EE), à partir du programme Java BluePrints de Sun Microsystems, et ont été catalogués dans le livre Core J2EE Patterns, paru en 2001. Parmi les principaux : DAO, DTO et Front Controller.

Les patterns de messagerie : l'intégration entre systèmes

Les patterns de messagerie traitent de la communication asynchrone et de l'intégration entre systèmes au moyen de messages. Leur référence principale est le livre Enterprise Integration Patterns, de Gregor Hohpe et Bobby Woolf, publié en 2003, et le sujet a pris encore plus d'ampleur avec l'arrivée des microservices. Parmi les principaux : Publish/Subscribe, Dead Letter Channel et Transactional Outbox.

Et il en existe d'autres

Il existe d'autres familles, comme les patterns d'UI/UX, qui portent sur la façon de concevoir les interfaces et les interactions. Deux exemples : le Breadcrumb (fil d'Ariane) et l'Infinite Scroll. Il existe aussi des patterns pour l'IA, des patterns d'architecture, parmi bien d'autres.

Prochaines étapes

Dans les prochains articles, nous approfondirons ces familles de patterns, une par une. Nous définirons les patterns, comprendrons le problème qu'ils résolvent et verrons comment les implémenter dans vos projets.

Top comments (0)