Loading video player...
💡 Learn how to design great software in 7 steps: https://arjan.codes/designguide. In this video, I take a small but realistic Python animation API and refactor it step by step into a fluent interface that reads like a story instead of a configuration file. You’ll see a clear “before” version with clunky lists and hard-to-read setup, and then watch how the same behavior becomes more expressive and maintainable by introducing method chaining and domain-specific fluent methods. Along the way, I explain what the fluent interface pattern actually is, how it differs from the builder pattern, where you already use it in Python without realizing it, and when you should not use it. 🔥 GitHub Repository: https://git.arjan.codes/2026/fluent. 🎓 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:58 What Is a Fluent Interface? (Quick Definition) 1:43 Real-Life Fluent Interfaces in Python (You Already Use Them) 2:13 The Domain: A Tiny Animation Engine 6:17 Before Version: Non-Fluent Animation Definition 7:30 The Engine: How play_scene Works 8:17 Refactor Step 1: Add an add() Method 9:47 Refactor Step 2: Turn add() into a Fluent API 11:20 Refactor Step 3: Domain-Specific Fluent Methods 14:49 When to Use Fluent Interfaces 15:18 When NOT to Use Fluent Interfaces 16:34 Final Thoughts #arjancodes #softwaredesign #python