Introduction | Course introduction, introduction to the five S.O.L.I.D. design principles. |
Dependency Inversion Principle | High level modules should not depend on low level modules. Instead, they should depend on abstractions, Concrete classes are volatile, Depending on concrete classes breaks the Open-closed principle. |
Interface Segregation Principle | No client should be forced to depend on methods it does not use, from "Fat" interfaces to "Slim" interfaces. |
Liskov Substitution Principle | Subclasses should not change the behavior of superclasses in unexpected ways, Selecting on types, Break the is-a relationship, Raise error in overridden method. |
Open-Closed Principle | Open for extension but closed for modification, Selecting on types, Safely Extend and Remove functionality. |
Single Responsibility Principle | Things should have only one reason to change, Mixing Responsibilities, Dependencies on libraries. |
Conclusion | Course conclusion, your next steps after this course. |