
Practical C++ Design: From Programming to Architecture
by: Adam B. Singer (Author)
Publisher:
Edition: 2nd ed.
Publication Date: 2021/12/11
Language: English
Print Length: 312 pages
ISBN-10: 1484274067
ISBN-13: 9781484274064
Book Description
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 leaing the art of applying design pattes and mode 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 leaing. Utilize the Model-View-Controller patte as the basis for the architecture of the calculator; the observer patte to design an event system; the singleton patte as you design the calculator’s central data repository, a reusable stack; the command patte to design a command system supporting unlimited undo/redo; the abstract factory patte 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 LeaRead 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 alteative design scenariosGain practical experience in applying design pattes to realistic development scenariosLea how to effectively use language elements of mode 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 codeLea the fundamentals of API design, including class, module, and plugin interfacesWho This Book Is ForThe experienced C++ developer ready to take the next step to becoming a skilled C++ designer.
About the Author
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 leaing the art of applying design pattes and mode 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 leaing. Utilize the Model-View-Controller patte as the basis for the architecture of the calculator; the observer patte to design an event system; the singleton patte as you design the calculator’s central data repository, a reusable stack; the command patte to design a command system supporting unlimited undo/redo; the abstract factory patte 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 LeaRead 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 alteative design scenariosGain practical experience in applying design pattes to realistic development scenariosLea how to effectively use language elements of mode 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 codeLea the fundamentals of API design, including class, module, and plugin interfacesWho This Book Is ForThe experienced C++ developer ready to take the next step to becoming a skilled C++ designer.
Wow! eBook


