Stop Overwriting State And Use Event Sourcing Instead

Опубликовано: 05 Август 2026
на канале: ArjanCodes
35,041
1.1k

→ Try Flox for free: https://flox.dev/?utm_source=youtube&...

In this video, I explore how to build an inventory system using the event sourcing pattern in Python, step by step. You’ll learn what event sourcing is, why it’s useful, and how it lets you track every change over time instead of just storing the final state. We’ll start with a basic implementation using string events, add caching for performance, then evolve the system with structured Item objects and projections to analyze the data. Plus, we’ll look at real-world parallels like Git and blockchain, and discuss when (and when not) to use this pattern in your own projects.

Design pattern playlist:    • Design Patterns  

💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide.

🔥 GitHub Repository: https://git.arjan.codes/2025/event.

🎓 ArjanCodes Courses: https://www.arjancodes.com/courses.

💬 Join my Discord server: https://discord.arjan.codes.

⌨️ Keyboard I’m using: https://amzn.to/49YM97v.

🔖 Chapters:
0:00 Intro
0:30 What Is Event Sourcing?
1:32 Step 1: The Basic Example (String-Based Inventory)
12:57 Step 2: Add Caching to Avoid Replaying on Every Read
17:55 Step 3: Make It More Realistic with a Full Item Object
21:08 Step 4: Add Projections for Analytics
22:44 Pros of Event Sourcing
23:19 Cons of Event Sourcing
23:50 When Should You Use It?
24:26 Final Thoughts

#arjancodes #softwaredesign #python