Practical C++ Design: From Programming to Architecture

$49.99
by Adam B. Singer

Shop Now
Go from competent C++ developer to skilled designer or architect using this book as your C++ design master class. This title will guide you through the design and implementation of a fun, engaging case study. 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 that builds and executes on multiple platforms. Access to the complete source code will help speed your learning. Utilize the Model-View-Controller pattern to determine the optimal architecture for 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; and the abstract factory pattern for a cross-platform plugin infrastructure to make the calculator extensible. What You Will Learn Read a specification document and translate it into a practical C++ design - 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. “Practical C++ Design, is the type of text that can play a significant role in assisting software developers … . It introduces the concepts and features of a C++ environment within the context of developing a project. … The book provides a concise and excellent set of references and a well-constructed index. Recommended. Lower-division undergraduates through faculty and professionals.” (J. Beidler, Choice, Vol. 55 (12), August, 2018) This book will help the reader take the step from competent C++ developer to designer or architect. It includes some C++ 17. Intended to be a master class in C++ design in a book, Practical C++ Design guides the reader through the design and C++ implementation of a fun and engaging case study. The journey begins with a quick exploration of the requirements for building the case study, a multi-platform Reverse Polish Notation calculator. Next, the reader delves into selecting an appropriate architecture, eventually designing and implementing all of the necessary modules to meet the calculator’s requirements. By the conclusion of the book, the reader will have constructed a fully functioning calculator that builds and executes on multiple platforms. The book includes access to the author’s complete implementation, which is available for download from GitHub. Explore the Model-View-Controller pattern as we determine the optimal architecture for the calculator. Explore the observer pattern as we learn how to design an event system. Explore the singleton pattern as we design the calculator’s central data repository, a reusable stack. Explore the command pattern as we design a command system supporting unlimited undo/redo. Explore the abstract factory pattern as we design a cross-platform plugin infrastructure for making the calculator extensible. Explore these topics and more as you gain practical experience learning from an expert how to use modern C++ effectively to design a complete desktop application What you will learn: • Learn to read a specification and translate it into a practical C++ design.• 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.• Implement a complete C++ program from a blank canvas through to a fully functioning,cross platform application.• Learn to read, modify, and extend an existing, high quality code.• Learn the fundamentals of API design, including class, module, and plugin interfaces. 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 man

Customer Reviews

No ratings. Be the first to rate

 customer ratings


How are ratings calculated?
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzes reviews to verify trustworthiness.

Review This Product

Share your thoughts with other customers