The Nile on eBay
  FREE SHIPPING UK WIDE
 

Practical C++ Design

by Adam B. Singer

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.

FORMAT
Paperback
LANGUAGE
English
CONDITION
Brand New


Back Cover

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++ 20 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. You will: 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

Author Biography

Adam B. Singer graduated first in his class at the Georgia Institute of Technology in 1999 with a bachelors degree in chemical engineering. He subsequently attended the Massachusetts Institute of Technology on a National Defense, Science, and Engineering Graduate Fellowship. He graduated from MIT with a Ph.D. in chemical engineering in 2004 after defending his thesis titled Global Dynamic Optimization. Since graduation, Adam has been a member of the research and engineering staff at an oil and gas major, where he has worked in software development, design, and project management in areas such as optimization, reservoir simulation, decision support under uncertainty, basin modeling, well log modeling, and stratigraphy. He has also served on and chaired committees designing in-house training in the areas of technical software development and computational and applied mathematics. He currently holds a research supervisory position. Adam additionally held the title of adjunct assistant professor in the Department of Computational and Applied Mathematics at Rice University from 2007-2012. In both 2006 and 2007, he taught a graduate level course, CAAM 520, on computational science. The course focused on the design and implementation of high performance parallel programs.

Table of Contents

Chapter 1: Defining the Case Study.- Chapter 2: Decomposition.- Chapter 3: The Stack.- Chapter 4: The Command Dispatcher.- Chapter 5: The Command Line Interface.- Chapter 6: The Graphical User Interface.- Chapter 7: Plugins.- Chapter 8: New Requirements.- Appendix A: Acquiring, Building, and Executing pdCalc.- Appendix B: Organization of the Source Code.- References.

Feature

Develop a complete, cross-platform C++20-based application from a blank canvas Learn to translate a specification document into a practical C++ design Learn the fundamentals of API design

Details

ISBN1484274067
Author Adam B. Singer
Short Title Practical C++ Design
Language English
Edition 2nd
ISBN-10 1484274067
ISBN-13 9781484274064
Format Paperback
Subtitle From Programming to Architecture
Publisher APress
Imprint APress
Place of Publication Berkley
Country of Publication United States
Year 2021
Pages 287
Publication Date 2021-12-11
Illustrations 24 Illustrations, black and white; XXII, 287 p. 24 illus.
AU Release Date 2021-12-11
NZ Release Date 2021-12-11
US Release Date 2021-12-11
UK Release Date 2021-12-11
Narrator Paul Panting
Birth 1945
Affiliation Georgia Institute of Technology
Position Kranzberg Professor
Qualifications J.D.
Edition Description 2nd ed.
Replaces 9781484230565
Alternative 9781484291276
DEWEY 005.133
Audience Professional & Vocational

TheNile_Item_ID:136172052;