Le Strangler Pattern (ou « modèle de l'étrangleur » en français) est une approche de développement logiciel utilisée lors de la refonte ou de la modernisation d'applications existantes. Ce modèle a été nommé ainsi par Martin Fowler. Voici les principes de base de ce modèle :
- Coexistence avec l'ancienne application : Au lieu de remplacer complètement une ancienne application, le Strangler Pattern implique la coexistence graduelle de la nouvelle version avec l'ancienne. Cela permet une transition plus douce et réduit les risques.
- Migration progressive : Les fonctionnalités de l'ancienne application sont progressivement remplacées par de nouvelles implémentations. Chaque fonctionnalité est prise individuellement, ce qui permet de gérer les changements de manière plus contrôlée.
- Interception et redirection des requêtes : Les requêtes destinées à l'ancienne application sont progressivement interceptées et redirigées vers la nouvelle implémentation. Cette étape est cruciale pour garantir que la nouvelle version de l'application prend en charge les fonctionnalités de l'ancienne.
- Élimination progressive de l'ancien code : Au fur et à mesure que de nouvelles fonctionnalités sont développées et que les anciennes sont remplacées, le code de l'ancienne application est progressivement retiré. Cela réduit la complexité et les coûts de maintenance.
- Minimisation des perturbations : L'un des principaux avantages de ce modèle est de minimiser les perturbations pour les utilisateurs finaux. Comme la transition se fait progressivement, les utilisateurs s'adaptent plus facilement aux changements.
Ce modèle est particulièrement utile dans les contextes où la refonte totale d'une application est trop risquée ou coûteuse. En utilisant le Strangler Pattern, il est possible de moderniser une application en minimisant les risques et en s'assurant que les nouvelles fonctionnalités peuvent être testées et validées avant de remplacer complètement les anciennes.
Références
- StranglerFigApplication par Martin Fowler