Envoyé par
Emmanuel Deloget
Concept que l'on retrouve dans la C++SL, où les flux dérivent tous des mêmes classes std::istream et std::ostream. Je n'ai pas pour habitude de recopier le design des autres, par contre je m'interroge souvent sur le pourquoi de leurs choix. De temps en temps, ça a du sens, de temps en temps ça n'en a pas. Même si il est évident que la notion de templates est postérieure à la première implémentation des flux, force est de constater que l'implémentation retenue pour ces flux fait intervenir les templates. A partir de là, on peut se demander si il était vraiment nécessaire de faire dériver tous les flux d'une série de même classe, ou si c'est un véritable choix d'architecture. Je penche pour la seconde solution, et je pense en outre que c'est un bon choix : un flux peut être passé en paramètre à une fonction et le choix de l'algorithme a utiliser s'effectue au runtime.
Partager