Practical C++ Design : From Programming to Architecture /

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

Full description

Saved in:
Bibliographic Details
Main Authors: Singer, Adam B. (Author)
Corporate Authors: SpringerLink (Online service)
Published: Apress : Imprint: Apress,
Publisher Address: Berkeley, CA :
Publication Dates: 2017.
Literature type: eBook
Language: English
Subjects:
Online Access: http://dx.doi.org/10.1007/978-1-4842-3057-2
Summary: 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 a rchitecture 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 us e 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.
Carrier Form: 1 online resource (XX, 246 pages) : illustrations
ISBN: 9781484230572
Index Number: QA76
CLC: TP312
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.