Practical C++ Design (eBook)
XXII, 287 Seiten
Apress (Verlag)
978-1-4842-7407-1 (ISBN)
Go from competent C++ developer to skilled designer or architect using this book as your personal C++ design master class. Updated for the C++20 standard, this title will guide you through the design and implementation of an engaging case study that forms the backdrop for learning the art of applying design patterns and modern C++ techniques to create a high quality, robust application.
Starting with a quick exploration of the requirements for building the application, you'll delve into selecting an appropriate architecture, eventually designing and implementing all of the necessary modules to meet the project's requirements. By the conclusion of Practical C++ Design, you'll have constructed a fully functioning calculator capable of building and executing on any platform that supports both Qt and C++20. Access to the complete source code will help speed your learning.
Utilize the Model-View-Controller pattern as the basis for the architecture of the calculator; the observer pattern to design an event system; the singleton pattern as you design the calculator's central data repository, a reusable stack; the command pattern to design a command system supporting unlimited undo/redo; the abstract factory pattern to build a cross-platform plugin infrastructure for extensibility; coroutines to implement a command line interface with a lazy tokenizer; and more.
After reading and using this book, you'll have begun the transition from C++ programmer to architect.
What You Will Learn
- Read a specification document and translate it into a practical C++ design using some of the latest language features from C++20
- Understand trade-offs in selecting between alternative design scenarios
- Gain practical experience in applying design patterns to realistic development scenarios
- Learn how to effectively use language elements of modern C++ to create a lasting design
- Develop a complete C++ program from a blank canvas through to a fully functioning, cross platform application
- Read, modify, and extend existing, high quality code
- Learn the fundamentals of API design, including class, module, and plugin interfaces
Who This Book Is For
The experienced C++ developer ready to take the next step to becoming a skilled C++ designer.
Go from competent C++ developer to skilled designer or architect using this book as your personal C++ design master class. Updated for the C++20 standard, this title will guide you through the design and implementation of an engaging case study that forms the backdrop for learning the art of applying design patterns and modern C++ techniques to create a high quality, robust application. Starting with a quick exploration of the requirements for building the application, you'll delve into selecting an appropriate architecture, eventually designing and implementing all of the necessary modules to meet the project s requirements. By the conclusion of Practical C++ Design, you'll have constructed a fully functioning calculator capable of building and executing on any platform that supports both Qt and C++20. Access to the complete source code will help speed your learning. Utilize the Model-View-Controller pattern as the basis for the architecture of the calculator; the observer pattern to design an event system; the singleton pattern as you design the calculator s central data repository, a reusable stack; the command pattern to design a command system supporting unlimited undo/redo; the abstract factory pattern to build a cross-platform plugin infrastructure for extensibility; coroutines to implement a command line interface with a lazy tokenizer; and more.After reading and using this book, you ll have begun the transition from C++ programmer to architect. What You Will LearnRead a specification document and translate it into a practical C++ design using some of the latest language features from C++20Understand trade-offs in selecting between alternative design scenariosGain practical experience in applying design patterns to realistic development scenariosLearn how to effectively use language elements of modern C++ to create a lasting designDevelop a complete C++ program from a blank canvas through to a fully functioning, cross platform applicationRead, modify, and extend existing, high quality codeLearn the fundamentals of API design, including class, module, and plugin interfacesWho This Book Is For The experienced C++ developer ready to take the next step to becoming a skilled C++ designer.
Erscheint lt. Verlag | 10.12.2021 |
---|---|
Zusatzinfo | XXII, 287 p. 24 illus. |
Sprache | englisch |
Themenwelt | Informatik ► Programmiersprachen / -werkzeuge ► C / C++ |
Mathematik / Informatik ► Informatik ► Software Entwicklung | |
Schlagworte | Architecture • C++ • Code • Design • Development • Engineering • Patterns • programming • Software |
ISBN-10 | 1-4842-7407-5 / 1484274075 |
ISBN-13 | 978-1-4842-7407-1 / 9781484274071 |
Haben Sie eine Frage zum Produkt? |
Größe: 3,5 MB
DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasserzeichen und ist damit für Sie personalisiert. Bei einer missbräuchlichen Weitergabe des eBooks an Dritte ist eine Rückverfolgung an die Quelle möglich.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich