This repository contains code examples from the book "C++ Software Design: Design Principles and Patterns for High-Quality Software". The book is authored by Klaus Iglberger and provides a comprehensive guide to understanding and implementing design principles and patterns in C++ to create high-quality software.
"C++ Software Design" is a book aimed at software developers who want to improve their understanding of design principles and design patterns in the context of C++ programming. The book covers a wide range of topics, from basic design principles to advanced design patterns, providing practical examples and explanations throughout.
The book discusses various design principles such as SOLID principles, DRY (Don't Repeat Yourself), KISS (Keep It Simple, Stupid), YAGNI (You Ain't Gonna Need It), and others. Each principle is explained in detail, with examples demonstrating how to apply them in C++ code.
The core of the book revolves around design patterns. It covers classical design patterns such as Visitor, Strategy, Observer, Prototype, Erasure, Singleton, and many more. Each pattern is accompanied by code examples illustrating its implementation in C++.
The repository includes example applications that demonstrate how to apply the principles and patterns discussed in the book to real-world scenarios. These applications cover various domains and showcase best practices in software design.
👤 Aras Güngöre
- LinkedIn: @arasgungore
- GitHub: @arasgungore