Résolution élégante du problème de l'expression : envoi multiple et méthodes ouvertes

2025-09-07

Cet article explore le « problème de l'expression », un défi qui touche à la fois la programmation orientée objet et la programmation fonctionnelle : ajouter de nouveaux types de données et des opérations sans modifier le code existant. À l'aide d'exemples en C++ et en Haskell, l'auteur illustre le cœur du problème. La POO traditionnelle a du mal à étendre les types et les opérations simultanément, et la programmation fonctionnelle rencontre des limitations similaires. L'article analyse en profondeur le modèle visiteur et ses extensions, puis utilise les multimethods et les protocoles de Clojure pour montrer comment l'envoi multiple et les méthodes ouvertes résolvent élégamment le problème de l'expression, permettant un code flexible et extensible.

Développement envoi multiple