Le Problème de l'Expression : Solutions Élégantes en POO et FP
2025-09-07
Cet article explore le « problème de l'expression » en conception logicielle : comment ajouter de nouveaux types de données et des opérations sans modifier le code existant. L'auteur utilise des exemples en C++ et Haskell pour illustrer les limites de la programmation orientée objet et fonctionnelle pour résoudre ce problème. L'article explore ensuite des solutions élégantes utilisant le modèle visiteur et les multimethods et protocoles de Clojure. L'approche de Clojure tire parti intelligemment de la puissance des méthodes ouvertes, en séparant les définitions des méthodes des définitions des types, ce qui permet une extension flexible sans modifier le code existant.