Quand utiliser des design pattern?

Tout développeur ,s’il veut respecter certains concepts du software craftmanship, a la possibilité d’utiliser des patterns.

Cet article va vous expliquer de manière simple dans quelles occasions certains patterns peuvent être utilisé.

Une boite à outils

blog ai3 image Quand utiliser des design pattern?

Lorsque vous êtes en train de bricoler chez vous avec votre boite à outils préférée, vous vous apercevez qu’une vis doit être retirée. Pour cela, vous ouvrez votre boite à outils et prenez l’outil permettant de résoudre cette problématique : à savoir un tournevis.

Un problème détecté a été résolu par l’utilisation d’un outil.

Et bien en terme de programmation, c’est exactement la même chose. Lorsque vous êtres confronté à un problème d’algorithmie, un design pattern peut être la solution pour résoudre votre soucis. Dans ce cas, si je veux faire une comparaison, le pattern que vous utiliserez est tout simplement votre tournevis.

Le gros avantage est que ces outils (en l’occurrence les design pattern) sont connus de tout développeur (provenant des Etats-Unis, d’Europe, de Chine…etc). Cela permet ainsi d’avoir du code standardisé, plus maintenable et surtout plus facile à reprendre pour le développeur qui passera derrière vous (car il faut toujours penser à la personne qui reprendra votre travail).

Des exemples…

J’imagine que vous êtes tous impatients de savoir quand utiliser ces patterns…Je précise juste que je ne vous expliquerai pas l’implémentation de chaque pattern (qui fera peut être l’objet d’un autre article de ma part) mais dans quels conditions l’utilisation de tel où tel pattern pourra résoudre votre problématique.

blog ai3 image Quand utiliser des design pattern?
Vu le nombre important de design pattern existant aujourd’hui, je ne vous détaillerai que ceux qui me semblent le plus important. Bien entendu, il est bien entendu possible de me contacter sur les autres patterns si vous souhaitez d’autres informations.
  • Vous êtes dans la nécessité de créer une instance unique de classe en session au niveau de votre code. Le pattern Singleton peut répondre à votre besoin
  • Vous souhaitez centraliser l’instanciation de vos objets, d’avoir une classe qui s’occupe uniquement de faire ce travail. Le pattern Factory peut répondre à votre besoin.
  • Vous travaillez sur une application développée en couches et vous souhaitez que celles-ci soient faiblement couplées. Le pattern Facade peut répondre à votre besoin.
  • Vous êtes dans la nécessité de rajouter des fonctionnalités à une classe. Le pattern Decorateur peut répondre à votre besoin. D’autant plus, qu’en utilisant ce pattern, on sera cohérent avec le O (Open) des paramètres SOLID qui préconise d’éviter le plus possible de modifier une classe existante mais de l’étendre.
  • Vous devez développer un algorithme et vous vous rendez compte que celui-ci doit être appelé plusieurs fois mais avec des paramètres différents à chaque fois. Le pattern Stratégie peut répondre à votre besoin. L’exemple typique du pattern stratégie est la météo (quand vous demandez dans une application Météo les prévisions pour demain, après demain, la semaine prochaine…d’un point de vue technique vous demandez toujours la même chose mais avec des paramètres différents).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.