Introduction
Welcome
()
What you should know
()
Using the exercise files
()
1. Introduction to S.O.L.I.D. Programming
What could go wrong?
()
Explore a non-SOLID class
()
Overview of the SOLID principles
()
2. Interface Segregation Principle
Introduction to interface segregation
()
Segregate the example classes
()
ISP applied to example classes
()
The wrap vs. extend decision
()
Extend alternatives
()
3. Liskov Substitution Principle
Introduction to Liskov substitution
()
Interface variations
()
Substitution applied to example classes
()
Default values for parameters
()
Avoiding isinstance()
()
4. The Open/Closed Design Principle
Introduction to Open/Closed design
()
Modify a class and fix bugs
()
OCP via inheritance and composition
()
More OCP extension techniques
()
5. Dependency Inversion Principle
Introduction to dependency inversion
()
Dependency injection and application configuration
()
Testing consequences
()
6. Single Responsibility Principle
Introduction to single responsibility
()
High cohesion and indirection
()
GRASP patterns
()
7. A Design Process
CRC Cards
()
Test-driven design
()
Ex_Files_SOLID_Programming_Principles.zip
(31 KB)