oder
Loggen Sie sich ein, um 1-Click® einzuschalten.
oder
Mit kostenloser Probeteilnahme bei Amazon Prime. Melden Sie sich während des Bestellvorgangs an. Erfahren Sie mehr
Alle Angebote
Möchten Sie verkaufen? Hier verkaufen
oder
gegen einen Amazon.de Gutschein über EUR 13,30 eintauschen?
Modern C++ Design, Generic Programming and Design Patterns Applied
 
Größeres Bild
 
Den Verlag informieren!
Ich möchte dieses Buch auf dem Kindle lesen.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

Modern C++ Design, Generic Programming and Design Patterns Applied [Englisch] [Taschenbuch]

Andrei Alexandrescu
5.0 von 5 Sternen  Alle Rezensionen anzeigen (5 Kundenrezensionen)
Preis: EUR 35,95 kostenlose Lieferung. Siehe Details.
  Alle Preisangaben inkl. MwSt.
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
Auf Lager.
Verkauf und Versand durch Amazon.de. Geschenkverpackung verfügbar.
Nur noch 10 Stück auf Lager - jetzt bestellen.
Lieferung bis Mittwoch, 30. Mai: Wählen Sie an der Kasse Morning-Express. Siehe Details.

Weitere Ausgaben

Amazon-Preis Neu ab Gebraucht ab
Taschenbuch EUR 35,95  
Gutschein erhalten
Tauschen Sie jetzt Modern C++ Design, Generic Programming and Design Patterns Applied gegen einen Amazon-Gutschein in Höhe von EUR 13,30 ein - einlösbar für Tausende von Artikeln bei Amazon.de. Entdecken Sie mehr eintauschbare Bücher im Bücher Trade-In Shop. Bitte beachten Sie die Teilnahmebedingungen.

Jetzt für Amazon Student anmelden und um 20% erhöhten Eintauschwert sichern.

Wird oft zusammen gekauft

Modern C++ Design, Generic Programming and Design Patterns Applied + C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth) + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing)
Preis für alle drei: EUR 95,85

Verfügbarkeit und Versanddetails anzeigen

Die ausgewählten Artikel zusammen kaufen


Produktinformation

  • Taschenbuch: 352 Seiten
  • Verlag: Addison-Wesley Longman, Amsterdam (13. Februar 2001)
  • Sprache: Englisch
  • ISBN-10: 0201704315
  • ISBN-13: 978-0201704310
  • Größe und/oder Gewicht: 23,4 x 18,7 x 1,9 cm
  • Durchschnittliche Kundenbewertung: 5.0 von 5 Sternen  Alle Rezensionen anzeigen (5 Kundenrezensionen)
  • Amazon Bestseller-Rang: Nr. 16.010 in Englische Bücher (Siehe Top 100 in Englische Bücher)
  • Komplettes Inhaltsverzeichnis ansehen

Mehr über den Autor

Andrei Alexandrescu
Entdecken Sie Bücher, lesen Sie über Autoren und mehr

Besuchen Sie die Seite von Andrei Alexandrescu auf Amazon

Produktbeschreibungen

Book Description

The intended audience of this book falls into two main categories. The first category is that of experienced C++ programmers who want to master the most modern library writing techniques. The book presents new, powerful C++ idioms that have surprising capabilities, some of which weren't even thought possible. These idioms are of great help in writing high-level libraries. Intermediate C++ programmers who want to go a step further will certainly find the book useful, too, especially if they invest a bit of perseverance. Although pretty hard-core C++ code is sometimes presented, it is thoroughly explained.

The second category consists of busy programmers who need to get the job done without undergoing a steep learning investment. They can skim the most intricate details of implementation and concentrate on using the provided library. Each chapter has an introductory explanation and ends with a Quick Facts section. Programmers will find these features a useful reference in understanding and using the components. The components can be understood in isolation, are very powerful yet safe, and are a joy to use.
You need to have a solid working experience with C++ and, above all, the desire to learn more. A degree of familiarity with templates and the Standard Template Library (STL) is desirable.

Having an acquaintance with design patterns (Gamma et al. 1995) is recommended but not mandatory. The patterns and idioms applied in the book are described in detail. However, this book is not a pattern book it does not attempt to treat patterns in full generality. Because patterns are presented from the pragmatic standpoint of a library writer, even readers interested mostly in patterns may find the perspective refreshing, if constrained.

Loki

The book describes an actual C++ library called Loki. Loki is the god of wit and mischief in Norse mythology, and the authors hope is that the library's originality and flexibility will remind readers of the playful Norse god. All the elements of the library live in the namespace Loki. The namespace is not mentioned in the coding examples because it would have unnecessarily increased indentation and the size of the examples. Loki is freely available to download.
Except for its threading part, Loki is written exclusively in standard C++. This, alas, means that many current compilers cannot cope with parts of it. I implemented and tested Loki using Metrowerks CodeWarrior Pro 6.0 and Comeau C++ 4.2.38, both on Windows. It is likely that KAI C++ wouldnt have any problem with the code, either. As vendors release new, better compiler versions, you will be able to exploit everything Loki has to offer.
Lokis code and the code samples presented throughout the book use a popular coding standard originated by Herb Sutter. Im sure you will pick it up easily. In a nutshell,
Classes, functions, and enumerated types look LikeThis.
Variables and enumerated values look likeThis.
Member variables look likeThis_.
Template parameters are declared with class if they can be only a user-defined type, and with typename if they can also be a primitive type.

Organization

The book consists of two major parts: techniques and components. Part I (Chapters 1 to 4) describes the C++ techniques that are used in generic programming and in particular in building generic components. A host of C++-specific features and techniques are presented: policy-based design, partial template specialization, typelists, local classes, and more. You may want to read this part sequentially and return to specific sections for reference.

Part II builds on the foundation established in Part I by implementing a number of generic components. These are not toy examples; they are components of industrial strength used in real-world applications. Recurring issues that C++ developers face in their day-to-day activity, such as smart pointers, object factories, and functor objects, are discussed in depth and implemented in a generic way. The text presents implementations starting from the needs, the fundamental problems. Instead of explaining what a body of code does, the approach of the book is to discuss problems, take design decisions, and implement those decisions gradually.

Chapter 1 presents policiesa C++ idiom that helps in creating flexible designs.
Chapter 2 discusses general C++ techniques related to generic programming.
Chapter 3 implements typelists, which are powerful type manipulation structures.
Chapter 4 introduces an important ancillary tool: a small-object allocator.
Chapter 5 introduces the concept of generalized functors, useful in designs that use the Command design pattern.
Chapter 6 describes Singleton objects.
Chapter 7 discusses and implements smart pointers.
Chapter 8 describes generic object factories.
Chapter 9 treats the Abstract Factory design pattern and provides implementations of it.
Chapter 10 implements several variations of the Visitor design pattern in a generic manner.
Chapter 11 implements several multimethod engines, solutions that foster various trade-offs.
The design themes cover many important situations that C++ programmers have to cope with on a regular basis. I personally consider object factories (Chapter 8) a cornerstone of virtually any quality polymorphic design. Also, smart pointers (Chapter 7) are an important component of many C++ applications, small and large. Generalized functors (Chapter 5) have an incredibly broad range of applications. Once you have generalized functors, many complicated design problems become very simple. The other, more specialized, generic components, such as Visitor (Chapter 10) or multimethods (Chapter 11) have important niche applications and stretch the boundaries of language support.

Synopsis

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).

Welche anderen Artikel kaufen Kunden, nachdem sie diesen Artikel angesehen haben?


Tags, die Kunden mit diesem Produkt verbinden

 (Was ist das?)
Klicken Sie zum Suchen verwandter Artikel, Diskussionen oder Personen auf ein Tag.
 

 

Eine digitale Version dieses Buchs im Kindle-Shop verkaufen

Wenn Sie ein Verleger oder Autor sind und die digitalen Rechte an einem Buch haben, können Sie die digitale Version des Buchs in unserem Kindle-Shop verkaufen. Weitere Informationen

Kundenrezensionen

4 Sterne
0
3 Sterne
0
2 Sterne
0
1 Sterne
0
Die hilfreichsten Kundenrezensionen
43 von 43 Kunden fanden die folgende Rezension hilfreich
Von Ein Kunde
Format:Taschenbuch
Wer bisher geglaubt hat, über C++ im grossen und ganzen Bescheid zu wissen, sollte dieses Buch lesen. Was darin mit templates gemacht wird hat wohl kaum seinesgleichen.

Haben Sie z.B. schon einmal template template parameter gesehen oder gar eingesetzt (ich stottere übrigens nicht)? In Bjarne Stroustrup's dritter Ausgabe seines Buchs "The C++ Programming Language" schreibt er in 13.2.3 darüber: "A template can take type parameters, parameters of ordinary types such as ints, and template parameters (§C.13.3)." Im Anhang C gibt's dann gerade mal eine halbe Seite Beschreibung dazu. Ganz offensichtlich misst Stroustrup dem keine grosse Bedeutung zu. Anderer Meinung ist Alexandrescu: "These constructs use one of the most powerful constructs of C++, a feature unmatched by any other language -- template template parameters." Er bleibt den Beweis nicht schuldig.

Was halten Sie z.B von einer Smartpointer-Klasse, die mittels 4 policy-parametern auf ein fast beliebiges Verhalten parameterisiert werden können (ownership management, conversion, error checking und storage)? Die Anzahl möglicher Kombinationen geht in die Hunderte.

Dieses Buch ist ein Muss für fortgeschrittene C++ Programmierer die ein bisschen in die Zukunft blicken wollen und ihren Horizont erweitern wollen. Übrigens: Wenn Sie die darin beschriebenen Dinge selber ausprobieren wollen, brauchen Sie einen zum Standard voll konformen Compiler. Viele aktuelle Produkte namhafter Hersteller sind das leider noch nicht.

War diese Rezension für Sie hilfreich?
13 von 13 Kunden fanden die folgende Rezension hilfreich
C++ für Cracks 25. Juli 2002
Format:Taschenbuch
Endlich wieder einmal ein Buch für fortgeschrittene C++ Programmierer. Ähnlich wie seinerzeit Scott Meyers (Effective C++) erläutert Alexandrescu grundlegend neue Aspekte der Umsetzung von Design Pattern mit Hilfe von C++ Templates. Er fängt dort an, wo alle anderen C++ Bücher aufhören. Viel weiter als das GoF Buch geht er mit Singleton, Smart Pointers, Factories und Visitor. Im Anhang erklärt er wichtige Aspekte zu Multithreading.
War diese Rezension für Sie hilfreich?
24 von 26 Kunden fanden die folgende Rezension hilfreich
Von Ein Kunde
Format:Taschenbuch
Das Buch besteht aus zwei Teilen: Kapitel 1 bis 4 behandeln "Techniques" des "Generic Programming", Kapitel 5 bis 11 beschäftigen sich mit "Design Patterns Applied" (so daß man möglichst das "Design Patterns"-Buch der GoF bereitshalten sollte). Und anders als beim Buch "Generic Programming and the STL" von Matt Austern steckt hinter dem harmlosen Titel "Modern C++ Design" /sehr/ viel mehr als ein bloßer Katalog.

Auch wenn erst die zweite Fassung der zugehörigen"Loki"-Bibliothek auch mit g++ 2.95 funktioniert, war für mich bereits das "Vorauslesen" eine äußerst spannende Sache. Jetzt mit der benutzbaren Software werde ich das Buch so schnell wie möglich nochmals durcharbeiten und die beschriebenen Techniken und die bereitgestellten Werkzeuge eingehend studieren.

Es bleibt zu höffen, daß diese Form von C++ besser früher als später von den maßgeblichen Compiler(hersteller)n unterstützt wird. (Versuchen Sie mal, einen STL-Container mit polymorphen Elementen durch STL-Algorithmen zu manipulieren; erst mit Loki::SmartPtr<T,RefCounted,AllowConversion> ist mir das gelungen.)

War diese Rezension für Sie hilfreich?

Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen, Meinungen austauschen, Einblicke gewinnen
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 


Aktive Diskussionen in ähnlichen Foren
Kundendiskussionen durchsuchen
Alle Amazon-Diskussionen durchsuchen
   
Ähnliche Foren


Lieblingslisten


Ähnliche Artikel finden


Anhand des Sachgebietes nach ähnlichen Produkten suchen:


Ihr Kommentar


Datenschutzerklärung von Amazon.de Versandbedingungen von Amazon.de Umtausch- & Rücknahme bei Amazon.de