This repository contains C++ examples focused on object-oriented design, SOLID principles, and common design patterns.
*.cppfiles demonstrating core concepts such as abstraction, encapsulation, inheritance, and polymorphism.- Design pattern examples grouped by pattern folder names.
- Principle and anti-pattern examples showing both good and bad design choices.
- Sample applications such as
ChessGame,SnakeAndLadder,SplitWiseClone,TicTacToeGame, andTinderClone.
Abstraction.cppEncapulation.cppInheritence.cppStaticPolymorphism.cppDynamicPolymorphism.cppstaticAndDynamicPolymorphism.cpp
SRP/— Single Responsibility Principle examplesOCP/— Open/Closed Principle examplesLSP/— Liskov Substitution Principle examplesISP/— Interface Segregation Principle examplesDIP/— Dependency Inversion Principle examplesMethodRules/— Pre- and post-conditionsPropertiesRule/— Class invariants and constraintssignatureRule/— Method argument and return type rules
AdpaterPattern/BridgeDesignPattern/BuilderPattern/chainOfResponsibility/CommandDesignPattern/CompositePattern/DecoratorPattern/FacadePattern/FlyWeightPattern/IteratorDesignPattern/MediatorDesignPattern/MementoDesignPattern/ObserverDesignPattern/ProxyDesignPattern/ProtoTypeDesignPattern/StateDesignPattern/StrategyDesign/TemplateMethodPattern/VisitorDesignPattern/
PaymentGatewayApplication/BuildDisaccountCoupon/ChessGame/NotificationSystem/SnakeAndLadder/SplitWiseClone/TicTacToeGame/TinderClone/ZeptoClone/
GoodDesign/— better design implementationBadDesign/— anti-patterns and poor design choicesAntiPattern/— examples of common anti-patterns
- Open the folder in a C++ IDE or editor.
- Explore the pattern directories and individual examples.
- Compile and run the
.cppfiles to observe behavior. - Compare good and bad implementations to learn design tradeoffs.
- Most examples are standalone and focused on demonstrating a single concept or pattern.
- Folder names are a good guide to the topic being demonstrated.
- This repo is useful for learning design principles and preparing for software architecture interviews.