This is a continuation of the discussion on SOLID programming principles we started last month. We'll finish up our coverage of Single Responsibility and Open/Closed principles, then continue on with aspects of the other three:
- Liskov Substitution - objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program,
- Interface Segregation - many client-specific interfaces are better than one general-purpose interface, and
- Dependency Inversion - one should depend upon abstractions, not concretions.
This will be a group discussion led by Ron Grove.