Secret weapon how to promote your YouTube channel
Get Free YouTube Subscribers, Views and Likes

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

Follow
ArjanCodes

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 reallife example I recently encountered, where implementing an eventbased 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 7step guide to help you consistently design great software: https://arjancodes.com/designguide.

Relevant books:
Design Patterns: Elements of Reusable ObjectOriented 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: Preregister now! https://www.arjancodes.com/architect
Next Level Python: Become a Python Expert: https://www.arjancodes.com/nextlevel...
The 30Day 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 eventbased approach
10:40 The complete solution
12:44 The power of an eventbased 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!

posted by shiny399046