IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Modern C++ Design

Date de publication : 10/05/2006 , Date de mise à jour : 27/03/2008

Par Matthieu Brucher (http://matthieu-brucher.developpez.com/) (Blog)
 

Critique de Modern C++ Design d'Andrei Alexandrescu

I. Description de l'éditeur
II. Table des matières
III. Critique : Un extrêmisme modulaire
IV. Liens annexes


I. Description de l'éditeur

Dans Modern C++ Design, Andrei Alexandrescu ouvre de nouvelles voies pour les programmeurs C++. Montrant une créativité et une virtuosité extraordinaires, Alexandrescu offre une approche de premier ordre au design logiciel, unifiant les design patterns, la programmation générique et le C++, ce qui permet aux programmeurs de créer du code expressif, flexible et hautement réutilisable. Le livre introduit le concept de composants génériques, de patrons de design réutilisables qui permettent une transition plus simple et plus intuitive du design au code d'une application, de générer du code qui exprime mieux l'intention du design original, et de supporter la réutilisation de structures de design avec un recodage minimal. L'auteur poursuit en montrant comment appliquer cette approche à des questions récurrentes du monde réel que les programmeurs C++ rencontrent dans leur activité de tous les jours.

La totalité du code est disponible sur le Web, ainsi que la bibliothèque C++ Loki d'Alexandrescu qui propose de puissantes fonctionalités pour presque n'importe quel projet C++.


II. Table des matières

  • TECHNIQUES.
    • Policy-Based Class Design.
    • Techniques.
    • Typelists.
    • Small-Object Allocation.
  • COMPONENTS.
    • Generalized Functors.
    • Implementing Singletons.
    • Smart Pointers.
    • Object Factories.
    • Abstract Factory.
    • Visitor.
    • Multimethods.
  • Appendix A. Minimalist Multithreading Library.

III. Critique : Un extrêmisme modulaire

Tous les exemples proposés sont templatés, en fait à l'extrême. Dans la première partie, Alexandrescu montre ce qu'il appelle des politiques. Des politiques pour faire du code adaptable, par exemple, comment faire un smart pointer dans un cadre mono-threadé et un autre pour du multi-threads sans tout recoder et sans recompilation.

Une grande partie de l'ouvrage est dédié aux typelists et leur usage. Ces structures sont clairement expliquées, et pour une fois, on voit des applications : générer des classes héritant de plusieurs autres classes pour générer des hierarchies, des factories, ... A ce sujet, plusieurs patterns sont exposés et une implémentation type est proposée, templatée, avec des politiques à choisir et donc utilisable facilement.


IV. Liens annexes

info Critique sur la page de livres C++
info Achat sur Amazon.fr
info Lien vers le site de l'éditeur


Valid XHTML 1.1!Valid CSS!

Copyright © 2006 Matthieu Brucher. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.