In this video, you’ll learn how to write better Python code using dependency inversion by going step by step through a simple code example. Dependency inversion is one of the five SOLID principles. The basic idea of dependency inversion is to write your code in such a way that high level modules shouldn’t depend on low level modules, both should depend on abstractions (i.e. abstract classes and interfaces).

Relevant books:

✅ Write cleaner code with Sourcery: https://sourcery.ai/?utm_source=YouTube&utm_medium=aff&utm_campaign=ArjanCodes

My gear:
📷 Sony A7C - https://amzn.to/3aShCtw
🎙 Rode Wireless GO - https://amzn.to/3pSLFVU
💡 GVM RGB LED light - https://amzn.to/3qRNJid
💡 GVM 100W light with lantern softbox - https://amzn.to/2NuU8lk

☕If you want to support this channel, you can buy me a coffee here: https://www.buymeacoffee.com/arjancodes.

For more information about the Mypy static type checker I mentioned in the video, see: http://mypy-lang.org.

All parts in this series:
Part 1: Cohesion and coupling - https://youtu.be/eiDyK_ofPPM
Part 2: Dependency inversion - https://youtu.be/Kv5jhbSkqLE
Part 3: The strategy pattern - https://youtu.be/WQ8bNdxREHU
Part 4: The observer pattern - https://youtu.be/oNalXg67XEE
Part 5: Unit testing and code coverage - https://youtu.be/jmP3fp_BhmE
Part 6: Template method and bridge - https://youtu.be/t0mCrXHsLbI
Part 7: Exception handling - https://youtu.be/ZsvftkbbrR0
Part 7b: Monadic error handling - https://youtu.be/J-HWmoTKhC8
Part 8: Software architecture - https://youtu.be/ihtIcGkTFBU
Part 9: SOLID principles - https://youtu.be/pTB30aXS77U
Part 10: Object creation patterns - https://youtu.be/Rm4JP7JfsKY

You can find the code I worked on in this episode in my GitHub repository: https://github.com/arjancodes/betterpython

Chapters:
0:00 Intro
2:02 Code example
3:23 Creating an abstract class
4:55 Making a subclass
5:48 Modifying the power switch class
6:55 Adding another switchable subclass
7:50 Outro

If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!

DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!

#python

Dependency Inversion: Write BETTER PYTHON CODE Part 2
1.20 GEEK