Design principles and patterns for building better Python software.
Software Design for Python Programmers shows you how to level up from writing Python code to designing Python applications. Following intuitive “before” and “after” examples of improved code, you’ll learn to plan and execute Python applications effectively and avoid bugs associated with unmanaged state, poorly-formed classes, inflexible functions, and more.
In
Software Design for Python Programmers, you’ll learn how to:
- Analyze requirements and plan application architecture
- Evolve designs through iterative development
- Shape Python classes with high cohesion and loose coupling
- Use decorators to introduce abstraction, enforce constraints, and enrich behavior
- Apply industry-standard design principles to keep code modular and maintainable
- Choose and implement the right design patterns for complex challenges
Great applications take advantage of established design principles and patterns that maximize performance, maintainability, and reliability. This book helps you master the “Pythonic” approach to architectural principles, such as encapsulation, abstraction, method variation, and more. The examples are in Python, but the techniques will apply to any object-oriented language.