Practical C++ Design


Book Description

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++ Programming


Book Description

C++ is a powerful, highly flexible, and adaptable programming language that allows software engineers to organize and process information quickly and effectively. But this high-level language is relatively difficult to master, even if you already know the C programming language.The 2nd edition of Practical C++ Programming is a complete introduction to the C++ language for programmers who are learning C++. Reflecting the latest changes to the C++ standard, this 2nd edition takes a useful down-to-earth approach, placing a strong emphasis on how to design clean, elegant code.In short, to-the-point chapters, all aspects of programming are covered including style, software engineering, programming design, object-oriented design, and debugging. It also covers common mistakes and how to find (and avoid) them. End of chapter exercises help you ensure you've mastered the material.Practical C++ Programming thoroughly covers: C++ Syntax Coding standards and style Creation and use of object classes Templates Debugging and optimization Use of the C++ preprocessor File input/output Steve Oualline's clear, easy-going writing style and hands-on approach to learning make Practical C++ Programming a nearly painless way to master this complex but powerful programming language.




Practical FPGA Programming in C


Book Description

FPGA brings high performance applications to market quickly – this book covers the many emerging platforms in a proven, effective manner.




Practical Statecharts in C/C++


Book Description

'Downright revolutionary... the title is a major understatement... 'Quantum Programming' may ultimately change the way embedded software is designed.' -- Michael Barr, Editor-in-Chief, Embedded Systems Programming magazine (Click here




Software Architecture with C++


Book Description

Apply business requirements to IT infrastructure and deliver a high-quality product by understanding architectures such as microservices, DevOps, and cloud-native using modern C++ standards and features Key FeaturesDesign scalable large-scale applications with the C++ programming languageArchitect software solutions in a cloud-based environment with continuous integration and continuous delivery (CI/CD)Achieve architectural goals by leveraging design patterns, language features, and useful toolsBook Description Software architecture refers to the high-level design of complex applications. It is evolving just like the languages we use, but there are architectural concepts and patterns that you can learn to write high-performance apps in a high-level language without sacrificing readability and maintainability. If you're working with modern C++, this practical guide will help you put your knowledge to work and design distributed, large-scale apps. You'll start by getting up to speed with architectural concepts, including established patterns and rising trends, then move on to understanding what software architecture actually is and start exploring its components. Next, you'll discover the design concepts involved in application architecture and the patterns in software development, before going on to learn how to build, package, integrate, and deploy your components. In the concluding chapters, you'll explore different architectural qualities, such as maintainability, reusability, testability, performance, scalability, and security. Finally, you will get an overview of distributed systems, such as service-oriented architecture, microservices, and cloud-native, and understand how to apply them in application development. By the end of this book, you'll be able to build distributed services using modern C++ and associated tools to deliver solutions as per your clients' requirements. What you will learnUnderstand how to apply the principles of software architectureApply design patterns and best practices to meet your architectural goalsWrite elegant, safe, and performant code using the latest C++ featuresBuild applications that are easy to maintain and deployExplore the different architectural approaches and learn to apply them as per your requirementSimplify development and operations using application containersDiscover various techniques to solve common problems in software design and developmentWho this book is for This software architecture C++ programming book is for experienced C++ developers looking to become software architects or develop enterprise-grade applications.




A Practical Introduction to Object-Oriented Design with C++


Book Description

Reiss's innovative text provides students with the necessary skills to write moderate sized (10,000 to 50,000 line) programs. The book takes the student from a basic to more advanced understanding of object-oriented design and implementation. It details the proper use of inheritance, design notations using a simplified form of OMT to describe designs, the use of object libraries such as STL, creating library classes, and the use of design patterns. Reiss also discusses advanced language and programming features such as exception handling, inter-process communication, and debugging tools and techniques.




Software Development in C


Book Description

- Focus on the C programming language - A powerful and popular tool for developing professional software, enables students to easily advance in their careers. - Microsoft Visual C++ - Included with the text, allows students to build their C programs using this valuable accompanying CD ROM. - Hands-on demonstrations - Incorporated in almost all chapters; include a stated objective, an experiment, its results, and an analysis of the activity, its results, and what those results teach, enables students to gain valuable hands-on experience, crucial to understanding the C program. - Review questions and 25 exercises - Included in each chapter, teaches students how to write programs that solve problems in math, physics, electronics, etc. - Tips, warnings (traps), and technical notes - Copiously contained in each chapter gives students important information that is necessary to develop their skills. - Chapter Glossaries, provide students with an easy-to-find reference tool for each chapter. - Instructors Supplements - Include an Instructors Manual and PowerPoints, provides instructors with valuable support in forming their course curriculum.







UML and C++


Book Description

This practical book by two industry leaders continues to be a self-teaching guide for software analysts and developers. This revised edition teaches readers how to actually "do" object-oriented modeling using UML notation as well as how to implement the model using C++. The authors introduce all of the basic object-oriented fundamentals necessary so readers can understand and apply the object-oriented paradigm. FEATURES Teaches readers to build an object-oriented application using C++ and make the right trade-off decisions to meet business needs. Exposes a number of the myths surround object-oriented technology while focusing on its practicality as a software engineering tool. Gives readers a "recipe or step-by-step guide to do all of the steps of object-oriented technology. Provides a practical approach to analysis, design, and programming in the object-oriented technology. NEW TO THE SECOND EDITION Gives a practical approach for the development of use cases as part of object-oriented analysis. Provides greater coverage of UML diagramming. Introduces key C++ libraries that provide important functionality, supporting implementation of an object-oriented model in C++. Improved coverage of dynamic behavior modeling, implementation of the state model, and class projects.




Practical C++


Book Description

With a guide that provides essential pieces of C++ programming, design and develop efficient, dynamic object-oriented programs and learn to master beginning and intermediate concepts such as functions, memory management, namespaces, and more with hands-on examples conveyed through concise text.