The goal of this repository is to get better understanding of Design Patterns, Low-Level Design, SOLID principles and Object-Oriented Programming (OOP) concepts in Python. It contains various case studies and their implementations in Python.
This section contains implementation from some basic concepts in Python to advanced topics like Dynamic Protocols and Meta Programming.
This section focuses to show the importance of SOLID principles. It contains the before
examples to show a class violating the principle, while the after
examples show a refactored class adhering to the principle.
This section shows an example implementations of standard design patterns that are handled in a certain way to recurring problems in software design.
Creational Patterns
Behavioral Patterns
This section features some real-world design challenges that allows to put object-oriented programming, design patterns, and SOLID principles into practice. Each project simulates a common software scenario, offering hands-on experience to refine low-level design skills.