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

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Singer, Adam B. (Συγγραφέας)
Συγγραφή απο Οργανισμό/Αρχή: SpringerLink (Online service)
Μορφή: Ηλεκτρονική πηγή Ηλ. βιβλίο
Γλώσσα:English
Έκδοση: Berkeley, CA : Apress : Imprint: Apress, 2017.
Θέματα:
Διαθέσιμο Online:Full Text via HEAL-Link
LEADER 04232nam a22004935i 4500
001 978-1-4842-3057-2
003 DE-He213
005 20170929174628.0
007 cr nn 008mamaa
008 170929s2017 xxu| s |||| 0|eng d
020 |a 9781484230572  |9 978-1-4842-3057-2 
024 7 |a 10.1007/978-1-4842-3057-2  |2 doi 
040 |d GrThAP 
050 4 |a QA76.7-76.73 
050 4 |a QA76.76.C65 
072 7 |a UMX  |2 bicssc 
072 7 |a UMC  |2 bicssc 
072 7 |a COM051010  |2 bisacsh 
072 7 |a COM010000  |2 bisacsh 
082 0 4 |a 005.13  |2 23 
100 1 |a Singer, Adam B.  |e author. 
245 1 0 |a Practical C++ Design  |h [electronic resource] :  |b From Programming to Architecture /  |c by Adam B. Singer. 
264 1 |a Berkeley, CA :  |b Apress :  |b Imprint: Apress,  |c 2017. 
300 |a XX, 246 p. 24 illus., 11 illus. in color.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a 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. 
520 |a 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. 
650 0 |a Computer science. 
650 0 |a Computer programming. 
650 0 |a Software engineering. 
650 0 |a Programming languages (Electronic computers). 
650 1 4 |a Computer Science. 
650 2 4 |a Programming Languages, Compilers, Interpreters. 
650 2 4 |a Programming Techniques. 
650 2 4 |a Software Engineering. 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9781484230565 
856 4 0 |u http://dx.doi.org/10.1007/978-1-4842-3057-2  |z Full Text via HEAL-Link 
912 |a ZDB-2-CWD 
950 |a Professional and Applied Computing (Springer-12059)