Customer Reviews for

Modern C++ Design: Generic Programming and Design Patterns Applied

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 9 Customer Reviews
Page 1 of 1
  • Anonymous

    Posted October 1, 2007

    This book covers it all.

    This book covers all the bases for C++. Although I've been programming for several years now, I always come back to this book to refresh any concepts that have grown hazy. Basic concepts and ideas are always expounded upon, and the reader can easily see how organized and thoughtful the author was in putting together this work.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted February 28, 2006

    Hidden Treasure

    I picked this up because it said 'generic Programming' on the cover. Wow... I can't stop thinking about it. Now I am starting to see uses for the techniques/idioms shown here in almost everything I do. I cannot stress enough how great this book, and, by extension, the author, is. Take my advice: Buy two copies so you'll have one to refer to after you wear the first one out!!!

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted June 4, 2001

    An Essential C++ Book

    First came type-safe containers and generic algorithms, and then came traits. Now, thanks to Andrei Alexandrescu¿s ground breaking new book ¿Modern C++ Design,¿ we have policies. Policies provide a means of creating very flexible and extendable libraries with little to no run-time overhead. As an example consider the Singleton pattern. What is the lifetime of the singleton? Should it be destroyed? If so, when? What, if any, threading model should the used by the singleton? Unfortunately, there is no one best answer. The good news is that policies allow the application developer to choose the answer that best fits their needs. Several policies are presented in the book but best of all is the fact that if none of the policies are well suited to the problem at hand, it is remarkably easy to write a new policy that plugs into the library. While it may be tempting to write an entire book on singletons, the book covers a myriad of other topics, including but not limited to, smart pointers, object factories, abstract factories, visitors, and a memory allocator optimized for small objects. Each topic is covered thoroughly and is easy to read and understand. Be forwarded however, the reader must have of strong understanding of C++ template fundamentals. This is not an introductory tutorial on templates. There are a number of books that should be considered ¿must have¿ for all professional C++ programmers and designers. These books include Scott Meyers¿ ¿Effective C++¿ and ¿More Effective C++¿, Herb Sutter¿s ¿Exceptional C++¿, and the ¿Gang of Four¿s¿ ¿Design Patterns.¿ ¿Modern C++ Design¿ is the newest addition to this list.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 21, 2001

    I thought STL is all that templates can do!

    I liked the book from both perspectives: style and content The book is very well written, in a vivacious and logical style. The eventual questions raised in one paragraph are answered in the following ones, so every chapter gave me a very clear understanding of the concept the author wanted to present. The chapters succeed smoothly and in a logical order. The content is amazing; I would dare to call it a revolutionary book because it showed that the designs patterns can be actually implemented without loosing their generality. Before reading the book I lived with the idea that once you begin talking about code, that was it, it was the end, it meant that a design solution was chosen and now it is implemented and nothing follows. No, here the implementation, the code Andrei wrote and explained to us, still remains in the design area because it gives the user the option to model and transform the concept, at compile time, the way he\she needs. I warmly recommend the book to any C++ programmer interested to explore the big potential of templates, but also as a rich source of ideas, and reusable code.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 24, 2001


    no punches pulled. no fluff. straight to the meat. Great book. But take your time, advanced topic abound.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 14, 2001

    Cool book

    This book sets a new standard for library development in C++. A refreshing read, Modern C++ Design fills an empty space that's between theoretical stuff such as generic programming or design patterns, and the real world. The author can explain complex design-related issues and equally complex C++ implementation details with remarkable ease. Although the book builds heavily on Design Patterns, you don't need to read the GoF book first, though some prior exposure to design patterns helps. My only complaint is about typos - they don't affect understandability but can be annoying at times. I recommend this book to any C++ programmer who wants to become a system or library designer.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 13, 2001

    Taking C++ to the next level

    Even after the C++ Standard was published, I thought no significant work on C++ can be possible beyond the STL. Modern C++ Design changed my view on C++ forever. The author uses C++ in a metalinguistic manner to implement not specific designs, but to treat the design process in and by itself. For example, in treating a specific design pattern such as Singleton he doesn't make design decisions. Instead, he provides you with a framework that lets you choose and combine various design decisions. Modern C++ Design is a book on 'designing designs' in C++. I also like the completeness of the work; instead of broad and shallow, the author chose a narrow and deep 'no nonsense' approach. Thus, the chapters on Command, Factory, Singleton, Smart Pointers, Visitor, Multiple Dispatch, really tell the first to last word on their respective subjects in the C++ implementation context. A truly inspirational breakthrough on implementing designs with C++, the book is an instant classic. Highly recommended to anyone who wants to be a C++ expert.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted May 8, 2001

    An amazing book

    I've been waiting for such a book for the longest time. I was sniffing that C++ templates have a lot of potential, but I never had the insight and creativity to be able to harness that potential. Now finally I found the catalyst in this book. Alexandrescu uses advanced C++ to encapsulate in libraries entire pieces of designs, such as singletons, visitors, double dispatch engines, or object factories. In doing this, he gives you, the developer, default behaviors of world-class quality and room for full customization if you need. The book's no-nonsense approach to reuse of software design is novel and definitely worth looking into. I also enjoyed the style - so much lighter and enjoyable than 'Generative Programming.'

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted October 31, 2008

    No text was provided for this review.

Sort by: Showing all of 9 Customer Reviews
Page 1 of 1