A comprehensive workshop demonstrating Python programming concepts with a focus on Object-Oriented Programming (OOP) and SOLID principles.
- Class creation and instantiation
- Inheritance and polymorphism
- Static methods and class methods
- Property decorators
- Helper classes and utility functions
-
Single Responsibility Principle
- Each class should have only one reason to change
-
Open-Closed Principle
- Software entities should be open for extension but closed for modification
- Example: Discount calculation using strategy pattern
-
Liskov Substitution Principle
- Objects should be replaceable with instances of their subtypes
-
Interface Segregation Principle
- Clients should not be forced to depend upon interfaces they do not use
-
Dependency Inversion Principle
- Depend upon abstractions, not concretions
- Python 3.7+
- Basic understanding of Python syntax
- Familiarity with OOP concepts (recommended)
Feel free to submit pull requests or create issues for any improvements or bug fixes.
This project is licensed under the MIT License - see the LICENSE file for details.