In this series, I talk about design patterns and principles and show you how you can use them to improve the quality of your code. All examples are in Python.
Curated by: ArjanCodes (99 videos)
🧱 Build software that lasts. Join the Software Design Mastery waiting list → https://arjan.codes/mastery. This class looks clean… until it quietly turns into a God object. In this video, I refactor a real Python example step by step, showing how one class slowly takes on too many responsibilities. From validation to data processing to model training. Then I break it apart into smaller, clearer pieces and introduce a simple rule of thumb for deciding what belongs in a class and what doesn’t. 🔥 GitHub Repository: https://git.arjan.codes/2026/god. 🎓 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 1:54 The Starting Point 4:10 Step 1: Move Validation Close to the Data 6:54 Step 2: Split Loading and Cleaning 8:02 Step 3: Split Feature Preparation Into Smaller Steps 9:06 Step 4: Move the Remaining Workflow Out of the Class 11:28 Step 5: Keep the Class for What It’s Good At 12:13 Why This Refactor Works 14:37 Final Thoughts #arjancodes #softwaredesign #python