Question INTERPRETEUR

Programmation Avancée

Modérateur : douinj

charp_n1
Messages : 23
Inscription : 07 oct. 2020 17:35

Question INTERPRETEUR

Message par charp_n1 » 16 nov. 2020 12:22

Bonjour,

Dans son dernier cours, M. Douin a présenté le patron Interpreteur : j'en ai surtout retenu qu'il était d'une utilisation laborieuse !
D'après ce que j'ai compris, un Visiteur peut toujours avantageusement remplacer un Interpreteur, puisqu'il est une sorte d'Interpreteur plus générique.
D'où ma question : existe-t-il des cas où l'utilisation de l'Interpreteur est préférable à celle du Visiteur ?

douinj
Messages : 204
Inscription : 18 mars 2009 15:46

Re: Question INTERPRETEUR

Message par douinj » 17 nov. 2020 9:41

Bonjour,

Composite + Interpreteur
Un traitement et son contexte "stables" associés à une grammaire qui pourrait évoluer, (une nouvelle sous-classe, redéfinition du traitement) par exemple l'API AWT a tenu plus de 10 ans, le traitement de l'affichage d'une figure sur un écran graphique était plutôt constant
https://en.wikipedia.org/wiki/Interpreter_pattern

Composite + Visiteur
Un traitement et son contexte "variés" associés à une grammaire qui évolue peu, par exemple l'API Java-Compiler et ses visiteurs, le traitement est laissé à l'initiative des utilisateurs
https://en.wikipedia.org/wiki/Visitor_pattern

à suivre

charp_n1
Messages : 23
Inscription : 07 oct. 2020 17:35

Re: Question INTERPRETEUR

Message par charp_n1 » 17 nov. 2020 20:06

Je pose la question car je crois n'avoir jamais rien vu de vraiment 'stable' dans les programmes sur lesquels je travaille, c'est même souvent une grande source de régressions et de contresens : on a voulu graver quelque chose dans le marbre, et quelques années plus tard ça n'a plus le même sens.
D'où ma conclusion (peut-être hâtive) de privilégier systématiquement le Visiteur lors d'un refactoring, puisqu'il n'est pas plus compliqué à coder que l'Interpreteur.

Répondre