Design principles and patterns for building better Python software.
Great Python applications take advantage of established design principles and patterns that maximize performance, maintainability, and reliability.
Software Design in Python shows you how to build on your Python coding skills by mastering the practices of great software design! 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 in Python, you’ll learn how to:
- Acquire and analyze application requirements
- Create well-designed applications through iterative development
- Design Python classes with high cohesion and loose coupling
- Implement Python decorators to enhance class properties, abstraction, and method functionality
- Apply industry-standard design principles to improve code structure and maintainability
- Identify appropriate design patterns to solve complex software design challenges
Software Design in Python teaches you to apply tried-and-tested object-oriented design principles to your Python code. The examples in this guide are simple, clear, and accessible. All examples are in Python, although most of the techniques will apply to any object-oriented language. You’ll solve common architecture problems, and discover the “Pythonic” way to implement encapsulation, implementation-hiding, method overloading, and more.