Course Information
Course Overview
Design clean, extensible and maintainable systems using SOLID principles
SOLID principles are fundamental rules of software architecture, helping developers craft clean and maintainable systems. These principles are grounded in over 40 years of academic research and practical experience, making them essential for developers, particularly those in senior positions.
SOLID is an acronym that stands for five principles:
Single Responsibility Principle
Open Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
In this course, you will discover the full scope and power of the SOLID principles and learn to apply them in your projects. I'll explain the concepts in simple words, with the help of real-world examples, so you'll get the theory and see how these principles work in real designs.
After completing this course, you'll become not just a programmer, but a software designer. You'll be able to incorporate longer-term architectural considerations into your code and know how to identify and rectify design mistakes. The insights that you'll acquire here will also make your programming job much more enjoyable!
Throughout the course, I will share interesting historical facts about the people behind the SOLID principles and the evolution of software architecture. These stories will enrich the technical content, adding depth and context to your learning experience.
So, I invite you to join me on this exciting journey into the world of SOLID principles of Object Oriented Design and Architecture!
Course Content
- 8 section(s)
- 39 lecture(s)
- Section 1 Introduction
- Section 2 Single Responsibility Principle
- Section 3 Abstractions
- Section 4 Open Closed Principle
- Section 5 Liskov Substitution Principle
- Section 6 Interface Segregation Principle
- Section 7 Dependency Inversion Principle
- Section 8 Summary
What You’ll Learn
- Discover how SOLID principles promote clean and maintainable software architecture, Learn the fundamental theory of SOLID principles, Master each SOLID principle through real-world, non-trivial examples, Understand the architectural trade-offs associated with SOLID principles, Go beyond just writing code and design systems that will stand the test of time, Discover the history of SOLID principles and get to know the people behind them
Skills covered in this course
Reviews
-
CCarlos Sebastian Castañeda
Good content, well explained. The only addition would be to have an extra section in each principle to explain it in an interview context with a very small and self explanatory example. This is a recurrent topic in Software Engineering interviews.
-
KKeith Meisel
I was familiar with SOLID principles prior to taking this course, but the specific examples and implementation details provided helped me integrate the information more deeply. Thank you!
-
BBraj Kumar
This is one of the best video courses on the SOLID principles. It is beneficial for both beginners and experienced developers.
-
PPatrick Lechner
The explanations are good but i think some parts repeat to often while others are too abstract. The LSP specifically could use some touch up to make the covariance of return and contravariance of parameters more clear. The UML helps a bit but concrete examples with a bit of code could help understand that concept more i think. For example if someone is expecting a pizza its okay to return a vegan pizza but its not okay to return italian food in general because that might include pasta (covariance of return). If your staff delivers italian food but one of the drivers only accepts pizza then thats bad as well (contravariance of parameters). Something like that. Pronunciation can be tricky as well but i think with good understanding of english this is not as big of a problem. Overall thank you so much for investing the time, i really enjoyed the course!