• [^] # Re: C'est vrai que c'est plus verbeux en c++

    Posté par (site web personnel) . En réponse au journal Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 4.

    Tu as tout loisir de faire ce qui t'arrange. Rien ne te limite et tu prix le faire évoluer comme heu le souhaite savez péter le code utilisateur. Ça dépend vraiment de l'utilisation que tu as. Par défaut j'aurais envi que ce ne soit pas des valeurs, mais un comportement.

    Dans ce contexte qu'appelles-tu un comportement ? Comment l'implementes-tu ?

    Pour le coté évolution, rien ne t’empêche de d'avoir un type différent en interne que celui que tu présentes à l'utilisateur. Autant cela peut commencer par deux types totalement équivalent, et cela peut évoluer en interne. Force de la solution par ADT c'est que si tu ajoutes un constructeur, ton utilisateur aura des warnings de compilation lui indiquant qu'il n'a pas traité tous les cas.

    Je ne suis pas sûr d'avoir saisie l'objectif de l'exemple du dessus. Par contre pour le cas du journal c'est évident: ce sont des stratégies. Les implémenter comme tel ne dois pas être dénué d'intérêt.

    Tu pourrais donner un exemple de ta solution ? À mon sens, l'implementation que j'ai proposée est clairement une implémentation du pattern strategie, en se servant de boost::variant pour stocker les différentes stratégies. Je trouve que cette approche est plus simple, plus compact et surtout elle apporte un découplage entre la donnée et les opérations que tu peux faire dessus comparé à une implémentation de la même idée utilisant de l'héritage virtuel.