Write clean code by using SOLID design principles in Python

Single Responsibility, Open-Closed, Liskov, Interface Segregation and Dependency Inversion to organise your code better

Write clean code by using SOLID design principles in Python
Write clean code by using SOLID design principles in Python

Write clean code by using SOLID design principles in Python free download

Single Responsibility, Open-Closed, Liskov, Interface Segregation and Dependency Inversion to organise your code better

In 1998, I worked for a company that made traffic analysis software. I had about 2 years of professional software development experience and loved to program.

But there was one thing I found very hard. And that was organizing code. How to create a system that is modular and maintainable in the future?

I had a colleague who could exactly do that. And I thought he was a coding wizard! Later I found out his secret. He used patterns and principles.

So one by one, I started to collect them. Some pattern here, some principle there. Much later, I found out that 5 important principles are bundled in the SOLID principles, discovered by Robert C. Martin (Uncle Bob).

Once I recognized these principles in my own systems, I improved my code 10x! And so can you!

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.

Target audience

  • Developers who especially benefit from this course, are:

  • 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


Challenges

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


Topics


  • 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.


Duration
1 hour video time. This course has no exercises.

The teacher
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.”