Master design principles through practical Python projects!
This repository complements the book "Software Design by Example: A Tool-Based Introduction with Python" by Greg Wilson. Here, you'll gain hands-on experience by building miniature versions of essential programmer tools.
‣ Craft Real-World Tools: Explore building file backup systems, testing frameworks, regular expression matchers, and more. ‣ Demystify Design Patterns: Uncover common design patterns used by experienced programmers. ‣ Write Testable and Reusable Code: Discover how clean code practices lead to both maintainability and reusability.
‣ Practical Exercises: Solidify your understanding with exercises ranging from short snippets to full-day projects. ‣ Open Source Code: Access and modify the example code under a permissive license. ‣ Level Up Your Python: Learn and apply advanced Python features as you build each project.
‣ Independent Learners: Take charge of your learning journey with self-paced exploration. ‣ Working Programmers: Sharpen your design skills through practical exercises.
‣ Contribute to the codebase. ‣ Share your learnings and ask questions.