This workshop is intended for developers with some Python experience. The course covers all Design Patterns as described by Gang of Four.
What will you learn?
- What are the principles of well designed object-oriented code?
- When should you use design patterns?
- How to apply design patterns in practice?
- How to write object-oriented code in Python?
- What are the relations between different design patterns?
- And much, much more.
Object Oriented Programming
- Properties and Descriptors
- Special Methods
- Static and Class Methods
- Class and Instance Attributes
- Inheriting from Immutable and Builtin Types
- Multiple Inheritance
- Method Resolution Order
- Monkey Patching
- Duck Typing
- Idioms and Good Practices
We discuss SOLID principles that makes code easier to read and maintain. This part is supplemented with exercises showing how to apply (and how not to do this) SOLID in Python. This will be helpful in the second step of each iteration in TDD (as well as BDD), that is writing production code.
Intro to Design Patterns
- Design Patterns Objectives
- Factory Method
- Abstract Factory
- Template Method
- Chain of Responsibility