Hands-On Design Patterns with C++
Packt Publishing Limited (Verlag)
978-1-80461-155-5 (ISBN)
Purchase of the print or Kindle book includes a free PDF eBook
Key Features
Delve into the core patterns and components of C++ to master application design
Learn tricks, techniques, and best practices to solve common design and architectural challenges
Understand the limitation imposed by C++ and how to solve them using design patterns
Book DescriptionC++ is a general-purpose programming language designed for efficiency, performance, and flexibility. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation.
This book helps you focus on the design patterns that naturally adapt to your needs, and on the patterns that uniquely benefit from the features of C++. Armed with the knowledge of these patterns, you’ll spend less time searching for solutions to common problems and tackle challenges with the solutions developed from experience. You’ll also explore that design patterns are a concise and efficient way to communicate, as patterns are a familiar and recognizable solution to a specific problem and can convey a considerable amount of information with a single line of code.
By the end of this book, you’ll have a deep understanding of how to use design patterns to write maintainable, robust, and reusable software. What you will learn
Recognize the most common design patterns used in C++
Understand how to use C++ generic programming to solve common design problems
Explore the most powerful C++ idioms, their strengths, and their drawbacks
Rediscover how to use popular C++ idioms with generic programming
Discover new patterns and idioms made possible by language features of C++17 and C++20
Understand the impact of design patterns on the program's performance
Who this book is forThis book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable programs and software systems.
Fedor G. Pikus is a Technical Fellow and head of the Advanced Projects Team in Siemens Digital Industries Software. His responsibilities include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and researching new design and software technologies. His earlier positions included a Chief Scientist at Mentor Graphics (acquired by Siemens Software), a Senior Software Engineer at Google, and a Chief Software Architect for Calibre Design Solutions at Mentor Graphics. He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry. Fedor is a recognized expert in high-performance computing and C++. He is the author of two books on C++ and software design, has presented his works at CPPNow, CPPCon, SD West, DesignCon, and in software development journals, and is also an O'Reilly author. Fedor has over 30 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language.
Table of Contents
An Introduction to Inheritance and Polymorphism
Class and Function Templates
Memory and Ownership
Swap
A Comprehensive Look at RAII
Understanding Type Erasure
SFINAE, Concepts, and Overload Resolution Management
The Curiously Recurring Template Pattern
Named Arguments, Method Chaining, and Builder Pattern
Local Buffer Optimization
ScopeGuard
Friend Factory
Virtual Constructors and Factories
Template pattern and NonVirtual idiom
Singleton - A Classic OOP Pattern
Policy-Based Design
The Visitor Pattern and Multiple Dispatch
Adapters and Decorators
Erscheinungsdatum | 20.07.2023 |
---|---|
Verlagsort | Birmingham |
Sprache | englisch |
Maße | 191 x 235 mm |
Themenwelt | Mathematik / Informatik ► Informatik ► Betriebssysteme / Server |
Mathematik / Informatik ► Informatik ► Netzwerke | |
Informatik ► Weitere Themen ► Hardware | |
ISBN-10 | 1-80461-155-7 / 1804611557 |
ISBN-13 | 978-1-80461-155-5 / 9781804611555 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich