In this video, I discuss the SOLID design principles by Robert Martin (Uncle Bob) using practical examples in Python. Though the SOLID principles are one of several sets of software design philosophies, and arguably quite specific for Object-Oriented programming, they are the most well-known and easy to apply to your own code. A few interesting links to articles and books: - Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides: https://amzn.to/3jllgyH - Principles of Package Design: Creating Reusable Software Components by Matthias Noback: https://amzn.to/2NETK3l - Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin: https://amzn.to/3qVZgNs - The original Design Principles and Design Patterns article by Robert Martin: https://fi.ort.edu.uy/innovaportal/file/2032/1/design_principles.pdf 💡Here's my FREE 7-step guide to help you consistently design great software: https://arjancodes.com/designguide. 🎓 Courses: The Software Designer Mindset: https://www.arjancodes.com/mindset The Software Designer Mindset Team Packages: https://www.arjancodes.com/sas The Software Architect Mindset: Pre-register now! https://www.arjancodes.com/architect Next Level Python: Become a Python Expert: https://www.arjancodes.com/next-level-python The 30-Day Design Challenge: https://www.arjancodes.com/30ddc 🛒 GEAR & RECOMMENDED BOOKS: https://kit.co/arjancodes. You can find the code I worked on in this episode in my GitHub repository: https://github.com/arjancodes/betterpython 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 7a: 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 🔖 Chapters: 0:00 Intro 1:08 Example explanation 1:45 Single responsibility principle 5:01 Open/closed principle 7:36 Liskov substitution principle 9:48 Interface segregation principle 12:12 Interface segregation variety using composition 15:25 Dependency inversion 17:29 Final thoughts 18:15 Gag reel 👍 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! 🏆 Join my Discord server: https://discord.arjan.codes 👥Twitter: https://twitter.com/arjancodes 👥LinkedIn: https://www.linkedin.com/company/arjancodes 👥Facebook: https://www.facebook.com/arjancodes #arjancodes #softwaredesign #solidprinciples 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!

solid principles made easysolid design principles in pythoneasy way to understand liskov substitution principlesolid design principles pythonsolid design principlessolid principlesdependency inversionliskov substitution principleinterface segregationsingle responsibility principlesingle responsibility principle pythonsingle responsibilitysolid principles of object oriented designuncle bob solidUncle bob solid principles