Overview
Develop a complete, cross-platform C++ application from a blank canvas
Learn to translate a specification document into a practical C++ design
Learn the fundamentals of API design
Access this book
Tax calculation will be finalised at checkout
Other ways to access
Table of contents (8 chapters)
Keywords
About this book
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.
Reviews
Authors and Affiliations
About the author
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.
Bibliographic Information
Book Title: Practical C++ Design
Book Subtitle: From Programming to Architecture
Authors: Adam B. Singer
DOI: https://doi.org/10.1007/978-1-4842-3057-2
Publisher: Apress Berkeley, CA
eBook Packages: Professional and Applied Computing, Professional and Applied Computing (R0), Apress Access Books
Copyright Information: Adam B. Singer 2017
eBook ISBN: 978-1-4842-3057-2Published: 27 September 2017
Edition Number: 1
Number of Pages: XX, 246
Number of Illustrations: 13 b/w illustrations, 11 illustrations in colour
Topics: Programming Languages, Compilers, Interpreters, Programming Techniques, Software Engineering