Observer Pattern Tutorial: I NEVER Knew Events Were THIS Powerful 🚀

Published: 18 February 2021
on channel: ArjanCodes
200,556
6.9k

This tutorial on the observer pattern is the fourth part of my series on how to write better Python code, I show you how to use events to write code that's really easy to change and extend. Events are a variant of the observer / listener design pattern. This video is inspired by a real-life example I recently encountered, where implementing an event-based approach provided a great solution to a design problem I had. Next to showing how to use events in your code, you'll also see what the effect is on the cohesion and coupling of the functions you write.

All parts in this series:
Part 1: Cohesion and coupling -    • Cohesion and Coupling: Write BETTER P...  
Part 2: Dependency inversion -    • Dependency Inversion: Write BETTER PY...  
Part 3: The strategy pattern -    • The Strategy Pattern: Write BETTER PY...  
Part 4: The observer pattern -    • Observer Pattern Tutorial: I NEVER Kn...  
Part 5: Unit testing and code coverage -    • 100% CODE COVERAGE - Think You're Don...  
Part 6: Template method and bridge -    • Two UNDERRATED Design Patterns 💡 Writ...  
Part 7: Exception handling -    • Exception Handling Tips in Python ⚠ W...  
Part 7b: Monadic error handling -    • Monadic Error Handling in Python ⚠ Wr...  
Part 8: Software architecture -    • Why You Should Think About SOFTWARE A...  
Part 9: SOLID principles -    • Uncle Bob’s SOLID Principles Made Eas...  
Part 10: Object creation patterns -    • QUESTIONABLE Object Creation Patterns...  

💡Here's my FREE 7-step guide to help you consistently design great software: https://arjancodes.com/designguide.

Relevant 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/fi...
🎓 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...
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/betterp...

🔖 Chapters:
0:00 Intro
1:24 Explaining the code example
3:16 Analysis
4:45 Creating a simple event handler
7:19 Moving to an event-based approach
10:40 The complete solution
12:44 The power of an event-based system
14:12 Final thoughts

👍 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!


Watch video Observer Pattern Tutorial: I NEVER Knew Events Were THIS Powerful 🚀 online, duration hours minute second in high quality that is uploaded to the channel ArjanCodes 18 February 2021. Share the link to the video on social media so that your subscribers and friends will also watch this video. This video clip has been viewed 200,556 times and liked it 6.9 thousand visitors.