Modern C++ Design et plus d'un million d'autres livres sont disponibles pour le Kindle d'Amazon. En savoir plus


ou
Identifiez-vous pour activer la commande 1-Click.
ou
en essayant gratuitement Amazon Premium pendant un mois. Votre inscription aura lieu lors du passage de la commande. En savoir plus.
Plus de choix
Vous l'avez déjà ? Vendez votre exemplaire ici
Désolé, cet article n'est pas disponible en
Image non disponible pour la
couleur :
Image non disponible

 
Commencez à lire Modern C++ Design sur votre Kindle en moins d'une minute.

Vous n'avez pas encore de Kindle ? Achetez-le ici ou téléchargez une application de lecture gratuite.

Modern C++ Design: Generic Programming and Design Patterns Applied [Anglais] [Broché]

Andrei Alexandrescu
5.0 étoiles sur 5  Voir tous les commentaires (2 commentaires client)
Prix : EUR 31,98 LIVRAISON GRATUITE En savoir plus.
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Il ne reste plus que 6 exemplaire(s) en stock (d'autres exemplaires sont en cours d'acheminement).
Expédié et vendu par Amazon. Emballage cadeau disponible.
Voulez-vous le faire livrer le mercredi 22 mai ? Choisissez la livraison en 1 jour ouvré sur votre bon de commande. En savoir plus.

Formats

Prix Amazon Neuf à partir de Occasion à partir de
Format Kindle EUR 22,34  
Broché EUR 31,98  

Description de l'ouvrage

13 février 2001

In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and virtuosity, Alexandrescu offers a cutting-edge approach to software design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. The book introduces the concept of generic components, reusable design templates that enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author then shows how to apply this approach to recurring, real-world issues that C++ programmers face in their day-to-day activity. All code is available on the Web, along with Alexandrescu's downloadable Loki C++ library, which provides powerful out-of-the-box functionality for virtually any C++ project. For experienced C++ programmers who have at least some familiarity with the Standard Template Library (STL).


Produits fréquemment achetés ensemble

Modern C++ Design: Generic Programming and Design Patterns Applied + Effective C++: 55 Specific Ways to Improve Your Programs and Designs + Design Patterns: Elements of Reusable Object-Oriented Software
Acheter les articles sélectionnés ensemble


Descriptions du produit

Quatrième de couverture

Modern C++ Designis an important book. Fundamentally, it demonstrates �??generic patterns�?? or �??pattern templates�?? as a powerful new way of creating extensible designs in C++�??a new way to combine templates and patterns that you may never have dreamt was possible, but is. If your work involves C++ design and coding, you should read this book. Highly recommended.
�??Herb Sutter

What�??s left to say about C++ that hasn�??t already been said? Plenty, it turns out.
�??From the Foreword by John Vlissides

In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code.

This book introduces the concept of generic components�??reusable design templates that produce boilerplate code for compiler consumption�??all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding.

The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include:

  • Policy-based design for flexibility
  • Partial template specialization
  • Typelists�??powerful type manipulation structures
  • Patterns such as Visitor, Singleton, Command, and Factories
  • Multi-method engines

For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution.

In addition, an accompanying Web site, http://www.awl.com/cseng/titles/0-201-70431-5, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project.

Get a value-added service! Try out all the examples from this book at www.codesaw.com. CodeSaw is a free online learning tool that allows you to experiment with live code from your book right in your browser.



0201704315B11102003

Biographie de l'auteur

Andrei Alexandrescu is the author of the award-winning book Modern C++ Design (Addison-Wesley, 2001) and is a columnist for C/C++ Users Journal.




Détails sur le produit

  • Broché: 352 pages
  • Editeur : Addison Wesley; Édition : 1 (13 février 2001)
  • Langue : Anglais
  • ISBN-10: 0201704315
  • ISBN-13: 978-0201704310
  • Dimensions du produit: 18,9 x 1,8 x 23,4 cm
  • Moyenne des commentaires client : 5.0 étoiles sur 5  Voir tous les commentaires (2 commentaires client)
  • Classement des meilleures ventes d'Amazon: 20.097 en Livres anglais et étrangers (Voir les 100 premiers en Livres anglais et étrangers)
  • Table des matières complète
  •  Souhaitez-vous compléter ou améliorer les informations sur ce produit ? Ou faire modifier les images?


En savoir plus sur l'auteur

Découvrez des livres, informez-vous sur les écrivains, lisez des blogs d'auteurs et bien plus encore.

Dans ce livre (En savoir plus)
Parcourir les pages échantillon
Couverture | Copyright | Table des matières | Extrait | Index
Rechercher dans ce livre:

Quels sont les autres articles que les clients achètent après avoir regardé cet article?


Commentaires en ligne 

4 étoiles
0
3 étoiles
0
2 étoiles
0
1 étoiles
0
5.0 étoiles sur 5
5.0 étoiles sur 5
Commentaires client les plus utiles
17 internautes sur 18 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Meilleur livre sur le C++ des années 2001 à 2003 6 novembre 2003
Par Un client
Format:Broché
Si vous etes néophyte, passez votre chemin, ce livre est clairement réservé aux experts ! Si pour vous généricité rime avec méthodes virtuelles et polymorphisme, bienvenue à l'école !

Alexandrescu nous devoile tout un arsenal de techniques impressionnantes que vous ne trouverez dans aucun autre bouquin sur le C++. Toutes génériques, toutes élégantes, toutes surpuissantes !

Juste un défaut toutefois, et pas anodin : son code requiert un compilateur ultra conforme au standard C++ de 1998. Très difficile à dénicher malheureusement... Malgré ce gros point noir, c'est pour moi le meilleur bouquin sur le C++ des années 2001 à 2003. Une révolution !

Avez-vous trouvé ce commentaire utile ?
4 internautes sur 5 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 Un joyau d'astuces 21 décembre 2009
Par Mic
Format:Broché|Achat authentifié par Amazon
Si vous cherchez à savoir ce qu'est la métaprogrammation en C++ ce livre est définitivement fait pour vous.

Vous n'aurez besoin pour le lire que de savoir les règles de base concernant les templates en C++ (et être à l'aise avec), et Alexandrescu vous guide vers la compréhension de ses constructions toutes plus étonnantes et remarquables les unes que les autres.
C'est une véritable façon de programmer "at compile-time" qu'il offre au programmeur.

Ces méthodes ne sont cependant pas très utilisées en environnement de production (utilisation lourde des macros, temps de compilation rallongés, maintenabilité discutable) et on admirera donc plus la beauté des objets que leur éventuelle réelle utilité.

C'est en tout cas un moyen étonnant de voir comment les règles d'apparence inoffensives des templates C++ offrent finalement un pouvoir d'expressivité très riche.
Avez-vous trouvé ce commentaire utile ?
Commentaires client les plus utiles sur Amazon.com (beta)
Amazon.com: 4.4 étoiles sur 5  75 commentaires
106 internautes sur 113 ont trouvé ce commentaire utile 
4.0 étoiles sur 5 template pathology 8 avril 2004
Par Un client - Publié sur Amazon.com
Format:Broché
Read this book and you may feel you've fallen down the hole into some sort of C++ Alice-in-Wonderland:

"Isn't it nifty just how much you can do with functions... that not only don't do anything but don't even really exist at all?" p.36

The title is a bit presumptuous; a more accurate title would be "Template Metaprogramming Stunts", since this book is primarily about tricks you can play with C++'s template mechanism.

The author does also make a go at proposing a new concept of "policy-based class design" -- by which he means using templates intead of multiple inheritance to create combinatorial mixtures of behavior. This is interesting, but seems hard to apply beyond the cliches he considers (ex: smart pointers), so his argument reads like a well-intended but parochial graduate thesis, with dutiful gestures of respect to his mentors (ex: Scot Myers) and limited range of real-world application.

The real meat of the book is his template techniques, which are ingenious -- if perverse, when seen from the standpoint of someone else trying to read and extend your code, or diagnose its arcane compiler errors. If you've ever had to work with other people on software, you may find his glib view of compiler errors disappointing. In many cases he relies on compiler errors to signal something more complex and semantic than the mere error would suggest. (If you're programmed much C++ you've surely experienced 10-line long STL template errors with a very simple underlying cause that is hard to discern from the error message. Learning to suss out what these mean is much of the sweat-work of learning C++.) I think this is simply that he's coming from the perspective that the interworkings of the language and the compiler are fascinating, and worth being a primary focus of study. But from the perspective of someone just tried to get your work done in the problem domain at hand, you may resent this attitude.

This book is best approached if you think C++ is really neat. Wheter you love C++ for its roccoco intricacy, or just see it as an evolutionary leaf node language full of botched misfeatures, you will find much here to confirm your opinion. I don't mean to belittle this book. There is real insight here: the idea of computing on types instead of values (to store the results of template-based computations) is a nifty idea. But it's worth keeping an eye on what problems you are really trying to solve, and which ones you may be creating.

Some telling quotes:

"Unfortunately, type_info's useful capabilities are packaged in a way that makes them unnecessarily hard to exploit." p.38

"For a variety of reasons, C++ is a language that leads its users sometimes to say, 'These are the smartest five lines of code I ever wrote.' Maybe it is its semantic richness or the ever-exciting (and surprising?) way its features interact." p.51

125 internautes sur 141 ont trouvé ce commentaire utile 
3.0 étoiles sur 5 Template Showboating 14 juillet 2001
Par "microtherion" - Publié sur Amazon.com
Format:Broché
While this is an interesting book, I'm not as unconditionally enthusiastic about it as most of the reviewers here seem to be. I felt that, as opposed to Scott Meyers' books and the original _Design Patterns_ book, many of the techniques presented in this book are the result of research into "elegant" solutions rather than experience with what really works in practical applications.

I really liked chapter 1 discussing policy-based class design, chapter 2 discussing various template techniques, chapter 6 discussing singleton implementation, anbd chapter 7 discussing smart pointers. Chapter 11 discussing multimethods, appears to be a good discussion of various alternatives but I'm not inclined to use multimethods anytime soon.

Chapter 3 about typelists is interesting, but after all the dazzling manipulations, all that typelists seem to be good for is generating class hierarchies, which I didn't find very compelling - it looks as if the typelists help to manage complexity that possibly wouldn't be there if the typelists hadn't been used in the first place.

Chapter 4 about small object allocation was of limited interest to me. The other chapters, 5 (Functors), 8 (Object Factories), 9 (Abstract Factory), and 10 (Visitor) offered fairly complex, template based solutions that to me did not look obviously superior to the straightforward manual implementations shown in _Design Patterns_.

Overall, a stimulating book, but one whose recipes will need careful evaluation before use.

45 internautes sur 48 ont trouvé ce commentaire utile 
5.0 étoiles sur 5 After two disappointments... 24 mai 2001
Par Kevin Graham - Publié sur Amazon.com
Format:Broché
I was longing for a good book on advanced C++. First, I bought "Multi-Paradigm C++". It does have some insights but author's style is baroque to the extreme. A good cure for insomnia. Then I bought "Generative Programming". I found it too much of a PhD thesis garnished with too much fluff for my taste.

Not wanting to risk anymore, I borrowed this book from a friend... to lose sleep for two nights reading it! It is the book I was looking for: no-nonsense, eye-opening, inspirational. The author's mastery of C++ and the creativity with which he solves real-world problems are phenomenal.

Alexandrescu discusses and implements the following design patterns: Command, Singleton, Proxy (in the form of smart pointers), Factory Method, Abstract Factory, and Visitor. In doing so, he creates highly configurable components that support most variations that accompany the patterns, and allow the component users to add their own variations. This is done through template parameters. The technique is not new but the author documents it thoroughly (coining the Policy-based design term) and uses it very creatively to achieve elegant designs.

The book also has foundation chapters: Techniques, Typelists, and a small object allocator. The latter is not really in sync with the rest of the book, being a low-level component written in straight C++, but in compensation, the chapter on typelists is as meta as you can imagine, and more :-).

In short: a great book if you use C++, especially so if you need to participate in the architectural stage of projects. But the best thing the book has done for me is, it made me extremely excited about programming - a feeling forgotten since my college days. Five stars plus.

Ces commentaires ont-ils été utiles ?   Dites-le-nous
Rechercher des commentaires
Rechercher uniquement parmi les commentaires portant sur ce produit

Discussions entre clients

Le forum concernant ce produit
Discussion Réponses Message le plus récent
Pas de discussions pour l'instant

Posez des questions, partagez votre opinion, gagnez en compréhension
Démarrer une nouvelle discussion
Thème:
Première publication:
Aller s'identifier
 

Rechercher parmi les discussions des clients
Rechercher dans toutes les discussions Amazon
   


Listmania!


Rechercher des articles similaires par rubrique


Commentaires

Souhaitez-vous compléter ou améliorer les informations sur ce produit ? Ou faire modifier les images?

Déclaration de confidentialité Amazon.fr Informations sur la livraison Amazon.fr Retours & Echanges Amazon.fr