Learn the SOLID programming principles to write more stable, scalable code. Get detailed examples and real-world examples of SOLID in action.
Overview
Syllabus
Introduction to SOLID Programming
- Benefits of SOLID Programming Principles
- What could go wrong?
- What could go wrong? Part 2
- Overview of the SOLID principles
- Introduction to the Interface Segregation Principle
- Problem domain objects: Individual data samples
- Collections of samples
- Reading and building samples
- Introduction to the Liskov Substitution Principle
- Duck Typing
- Interface variations
- Avoiding isinstance()
- Introduction to the Open/Closed Design Principle
- Modifying a class and fixing bugs
- OCP via inheritance and composition
- More OCP extension techniques
- Introduction to the Dependency Inversion Principle
- Dependency injection and application configuration
- Testing consequences
- Introduction to single responsibility
- GRASP patterns: High cohesion and indirection
- More GRASP patterns
- CRC cards
- Test-driven design
- Apply SOLID principles to your work
Taught by
Steven Lott