SOLID design principles with Python OOP in 60 minutes
What you'll learn
- List the 5 principles and their specific features with the help of many compact code examples
- Identify what aspects of your code should be combined or separated by applying the Single Responsibility Principle
- Modify existing code with minimal changes by using the Open-Closed Principle
- Detect inheritance problems with the Liskov Substitution Principle
- Prevent dummy methods by using the Interface Segregation Principle
- Prevent dependency problems by applying the Dependency Inversion Principle
- Beginner or intermediate understanding of programming
- An understanding of the problems that are caused by growing, unstructured code
Congratulations, you are at the point where you get more and more programming experience. But are you also becoming good software engineer? Perhaps you have noticed that it is hard to maintain growing and changing code.
In this course you learn to structure your code with the help of the five S.O.L.I.D. principles. These principles allow you to maintain the quality of your code, despite of ever-changing requirements from the business.
Developers who especially benefit from this course, are:
Programmers who want to see compact code examples that show how SOLID design principles improve code
Python programmers who want to know how to apply SOLID in Python
Programmers who want to know the relationship between SOLID and OOP
Students that are interested in this course are creative programmers but changes in their code start to cause nightmares and steal expensive time. This way, new requirements are the source of a lot of stress.
But there is a solution! Many problems are quite common and other developers have already solved them for you. These solutions are defined in patterns and principles. In this course you learn the 5 S.O.L.I.D. principles that provide you with tried and tested ways to structure your code better.
What can you do after this course?
Recognize which parts of you code can be improved by applying the SOLID principles
List the 5 SOLID principles and describe their purposes
Use the compact code examples from this course as blueprints to optimize your existing code
Single Responsibility Principle: Things should have only one reason to change.
Open-Closed Principle: Modify your code with minimal changes to other parts of the code.
Liskov Substitution Principle: Subclasses should not change the behavior of superclasses in unexpected ways.
Interface Segregation Principle: No client should be forced to depend on methods it does not use.
Dependency Inversion Principle: High level modules should not depend on low level modules.
1 hour video time. This course has no exercises.
This course is taught by Loek van den Ouweland, a senior software engineer with 25 years of professional experience. Loek is the creator of Wunderlist for windows, Microsoft To-do and Mahjong for Windows and loves to teach software engineering.
Students of this course tell me:
⭐️⭐️⭐️⭐️⭐️ “Wonderful course! Now it's finally crystal clear what S.O.L.I.D. principles are.”
⭐️⭐️⭐️⭐️⭐️ “Best course to learn about design principes.”
⭐️⭐️⭐️⭐️⭐️ “Provides a good overview of each principle, and the problems they solve, with examples on how to use them. The course overall provided good food for thought on how I can improve my code.”
Who this course is for:
- Programmers who want to see compact code examples that show how SOLID design principles can improve their code
- Python programmers who want to know how to apply SOLID in Python
- Programmers who want to know the relationship between SOLID and OOP
Loek van den Ouweland (Wunderlist, Microsoft Todo) is a born teacher. Right from the start of his career, he was told that a programmer helps his customers best when he shows what his products can do and how they are built.
He worked in many companies as programmer and trainer and enjoys to share the secrets of programming with others.
Loek has 25 years of experience training people with different backgrounds, all ages, working in branches ranging from medical systems to manufacturing and academics to aerospace.