Practical C++ Design: From Programming to ArchitectureКНИГИ » ПРОГРАММИНГ
Название: Practical C++ Design: From Programming to Architecture Автор: Adam B. Singer Издательство: Apress Год: 2017 Страниц: 246 Формат: PDF, EPUB Размер: 10 Mb Язык: English
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 s upporting unlimited undo/redo; and the abstract factory pattern for a cross-platform plugin infrastructure to make the calculator extensible.
What You Will Learn: Learn to 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 Learn to read, modify, and extend an existing, high quality code Learn the fundamentals of API design, including class, module, and plugin interfaces Who This Book Is For: Practical C++ Design is a book designed for the experie nced C++ developer ready to take the next step to becoming a skilled C++ designer.