Buy New
-
To see product details, add this item to your cart.
Ships from: Amazon.com Sold by: Amazon.com
Used - Good
-
To see product details, add this item to your cart.
Ships from: ThriftBooks-Phoenix Sold by: ThriftBooks-Phoenix
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications
Purchase options and add-ons
A comprehensive guide with extensive coverage of concepts such as OOP, functional programming, generic programming, concurrency, and STL along with the latest features of C++
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 Description
C++ 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 for
This 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.
Table of Contents
- An Introduction to Inheritance and Polymorphism
- Class and Function Templates
- Memory and Ownership
- Swap – From Simple to Subtle
- 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
- ISBN-101804611557
- ISBN-13978-1804611555
- Edition2nd ed.
- PublisherPackt Publishing
- Publication dateJuly 21, 2023
- LanguageEnglish
- Dimensions7.5 x 1.41 x 9.25 inches
- Print length627 pages
Frequently bought together

Customers who viewed this item also viewed
- C++ Software Design: Design Principles and Patterns for High-Quality SoftwarePaperbackFREE Shipping by AmazonGet it as soon as Monday, Sep 21
- The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examplesPaperbackFREE Shipping by AmazonGet it as soon as Monday, Sep 21
- C++ Concurrency in ActionPaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20Only 6 left in stock (more on the way).
- Modern C++ Programming Cookbook: Master Modern C++ with comprehensive solutions for C++23 and all previous standardsPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Monday, Sep 21
- C++ Memory Management: Write leaner and safer C++ code using proven memory-management techniquesPaperbackFREE Shipping on orders over $35 shipped by AmazonGet it as soon as Monday, Sep 21
- Tour of C++, A (C++ In-Depth Series)PaperbackFREE Shipping by AmazonGet it as soon as Sunday, Sep 20
Customers also bought or read
- The Art of Writing Efficient Programs: An advanced programmer's guide to efficient hardware utilization and compiler optimizations using C++ examples
Paperback$39.59$39.59FREE delivery Mon, Sep 21 - C++ Memory Management: Write leaner and safer C++ code using proven memory-management techniques
Paperback$29.99$29.99Delivery Mon, Sep 21 - Modern C++ Programming Cookbook: Master Modern C++ with comprehensive solutions for C++23 and all previous standards
Paperback$26.53$26.53Delivery Mon, Sep 21 - C++ Software Design: Design Principles and Patterns for High-Quality Software
Paperback$51.24$51.24FREE delivery Mon, Sep 21 - C++ High Performance: Master the art of optimizing the functioning of your C++ code, 2nd Edition
Paperback$59.99$59.99FREE delivery Mon, Sep 21 - Asynchronous Programming with C++: Build blazing-fast software with multithreading and asynchronous programming for ultimate efficiency
Paperback$41.99$41.99FREE delivery Mon, Sep 21 - Modern CMake for C++: Effortlessly build cutting-edge C++ code and deliver high-quality solutions
Paperback$26.81$26.81Delivery Mon, Sep 21 - Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Paperback$44.27$44.27FREE delivery Sep 28 - Oct 14 - Operating Systems: Three Easy Pieces#1 Best SellerComputer Operating Systems Theory
Paperback$28.27$28.27Delivery Mon, Sep 21 - A Philosophy of Software Design, 2nd Edition#1 Best SellerSoftware Testing
Paperback$19.87$19.87Delivery Sun, Sep 20 - The Algorithm Design Manual (Texts in Computer Science)
Hardcover$48.78$48.78FREE delivery Mon, Sep 21 - Design Patterns: Elements of Reusable Object-Oriented Software
Hardcover$24.35$24.35Delivery Mon, Sep 21 - C++ in Embedded Systems: A practical transition from C to modern C++
Paperback$29.99$29.99Delivery Mon, Sep 21 - Fluent Python: Clear, Concise, and Effective Programming
Paperback$43.99$43.99FREE delivery Sun, Sep 20 - Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers
Paperback$31.91$31.91Delivery Mon, Sep 21 - Template Metaprogramming with C++: Learn everything about C++ templates and unlock the power of template metaprogramming
Paperback$31.64$31.64Delivery Mon, Sep 21 - Hands-On Machine Learning with C++: Build, train, and deploy end-to-end machine learning and deep learning pipelines
Paperback$38.54$38.54FREE delivery Mon, Sep 21 - AI Engineering: Building Applications with Foundation Models#1 Best SellerEnterprise Applications
Paperback$52.40$52.40FREE delivery Sun, Sep 20 - Build a Large Language Model (From Scratch)#1 Best SellerComputer Neural Networks
Paperback$49.24$49.24FREE delivery Sun, Sep 20 - Hands-On Large Language Models: Language Understanding and Generation
Paperback$37.68$37.68FREE delivery Mon, Sep 21 - Statistics Every Programmer Needs: Practical Python implementations and quantitative methods
Paperback$56.99$56.99FREE delivery Sun, Sep 20 - Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)
Paperback$58.14$58.14FREE delivery Sun, Sep 20
From the brand
-
See more at our store:
-
Packt is a leading publisher of technical learning content with the ability to publish books on emerging tech faster than any other.
Our mission is to increase the shared value of deep tech knowledge by helping tech pros put software to work.
We help the most interesting minds and ground-breaking creators on the planet distill and share the working knowledge of their peers.
Editorial Reviews
About the Author
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.
Product details
- Publisher : Packt Publishing
- Publication date : July 21, 2023
- Edition : 2nd ed.
- Language : English
- Print length : 627 pages
- ISBN-10 : 1804611557
- ISBN-13 : 978-1804611555
- Item Weight : 2.34 pounds
- Dimensions : 7.5 x 1.41 x 9.25 inches
- Best Sellers Rank: #1,652,117 in Books (See Top 100 in Books)
- #706 in Computer Operating Systems (Books)
- #38,544 in Computers & Technology (Books)
- Customer Reviews:
About the author

Fedor G Pikus is a Technical Fellow at Siemens Digital Industries Software and the director of the Advanced Projects Team. His earlier positions included a Senior Software Engineer at Google and a Chief Software Architect for Calibre PERC, LVS, and DFM 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 on high-performance computing and C++, he presented his works at C++Now, CPPCon, SD West, DesignCon, in Software Development Journal, and is also an O'Reilly author. His responsibilities as a Chief Scientist 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 research in new design and software technologies. Fedor has over 25 patents and over 100 papers and conference presentations on physics, EDA, software design, and C++ language.




















