Course Hive
Search

Welcome

Sign in or create your account

Continue with Google
or
The State Pattern in Python - I Like How This Turned Out
Play lesson

Software Design in Python - The State Pattern in Python - I Like How This Turned Out

4.0 (1)
31 learners

What you'll learn

This course includes

  • 31.5 hours of video
  • Certificate of completion
  • Access on mobile and TV

Summary

Keywords

Full Transcript

🧱 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

Course Hive

Continue this lesson in the app

Install CourseHive on Android or iOS to keep learning while you move.

Related Courses

FAQs

Course Hive
Download CourseHive
Keep learning anywhere