#SOLID Principles Demonstration
Week 2 Day 1 at Makers Academy
###Interface Segregation Principle
The included files were used as examples for a group demonstration on the SOLID Principles. Our group was responsible for presenting on ISP.
####Lessons Learned
- S - SRP - Single Repsonsibility Principle
A class should have only a single responsibility.
- O - OCP - Open/Closed Principle
Software entities should be open for extension, but closed for modification.
- L - LSP - Liskov Substitution Principle
Objects in a program should be replaceable with instances of their child/sub-types without altering the applicability of the program.
- I - ISP - Interface Segregation Principle
Many client-specific interfaces are better than one general interface.
- D - DIP - Dependency Inversion Principle
High-Level modules should not depend on low-level. Both should depend on abstractions. Abstractions should also not depend on details, but details should depend on abstractions.
####Quotes:
when a client depends upon a class that contains interfaces that the client does not use, but that other clients do use, then that client will be affected by the changes that those other clients force upon the class