The State Pattern Done the Pythonic Way

Publicado el: 10 abril 2026
en el canal de: ArjanCodes
42,287
1.6k

🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery.

The classic State design pattern is often implemented with many small classes and heavy inheritance. In this video, I show a different approach.

I start with the traditional object-oriented version and then refactor it into a generic, data-driven state machine using Python features like decorators, enums, and generics. The result is a clean, reusable engine where transitions are explicit and easy to understand.

🔥 GitHub Repository: https://git.arjan.codes/2026/state.

🎓 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
3:24 Why This Matters
4:11 Step 1 — The Traditional Class-Based State Pattern
4:57 Step 2 — Realization: This Is Just a Lookup Table
5:21 Step 3 — Extracting a Generic StateMachine
17:35 Step 4 — Making Transitions Declarative with a Decorator
20:37 Step 5 — Supporting Multiple From States
24:05 The Payment Class Becomes Boring (In a Good Way)
25:30 When To Use This vs Classic OO
25:54 Final Thoughts

#arjancodes #softwaredesign #python


En esta página del sitio puede ver el video en línea The State Pattern Done the Pythonic Way de Duración hora minuto segunda en buena calidad , que subió el usuario ArjanCodes 10 abril 2026, comparta el enlace con amigos y conocidos, en youtube este video ya ha sido visto 42,287 veces y le gustó 1.6 mil a los espectadores. Disfruta viendo!