Tout d'abord, il peut sembler que je suis en demandant des avis subjectifs, mais ce n'est pas ce que je suis après. J'aimerais beaucoup connaître le bien-fondé des arguments sur ce sujet.
Dans l'espoir d'obtenir un aperçu de la façon moderne des flux / de sérialisation cadre doit donc être conçu, récemment, j'ai eu moi-même un exemplaire du livre de C++ Standard IOStreams et les paramètres régionaux par Angelika Langer et Klaus Kreft. J'ai pensé que si IOStreams n'a pas été bien conçu, il n'aurait pas fait dans la norme C++ de la bibliothèque dans la première place.
Après avoir lu les différentes parties de ce livre, je commence à avoir des doutes si IOStreams peut comparer par exemple à la STL à partir d'un ensemble architectural de point de vue. Lire par exemple cet entretien avec Alexander Stepanov (de la STL, "inventeur") pour en savoir plus sur les décisions de conception qui est entré dans la STL.
Ce qui me surprend en particulier:
Il semble être inconnu qui était responsable de IOStreams' ensemble de la conception (je serais ravi de lire quelques informations à propos de ce — que quelqu'un connait de bonnes ressources?);
Une fois que vous plongez sous la surface immédiate de IOStreams, par exemple, si vous souhaitez étendre IOStreams avec vos propres classes, vous obtenez une interface avec assez énigmatique et déroutant membre des noms de fonction, par exemple,
getloc
/imbue
,uflow
/underflow
,snextc
/sbumpc
/sgetc
/sgetn
,pbase
/pptr
/epptr
(et il y en a probablement pire des exemples). Cela rend les choses beaucoup plus difficile de comprendre l'ensemble de la conception et de la façon dont les différentes parties de coopérer. Même le livre que j'ai mentionné ci-dessus n'aide pas que beaucoup (à mon humble avis).
Donc ma question:
Si vous aviez à en juger par les logiciels d'aujourd'hui les normes d'ingénierie (si il y en est de parvenir à un accord général sur ces), serait de C++IOStreams encore être considéré comme un bien conçu? (Je ne veux améliorer mon logiciel de compétences en conception de quelque chose qui est généralement considéré comme obsolète.)