Software Design for Python Programmers: Principles and patterns
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.

About the book

Software Design in Python helps you build software like the pros. In clear, jargon-free language it lays out the object-oriented design principles, practices, and patterns that you need to know to build scalable and maintainable applications. Throughout, you’ll find intuitive “before” and “after” examples that show you what bad code looks like, and how to fix it with the right pattern. Conversation sidebars feature engaging talking heads that ask-and-answer common questions. If you know the basics of Python code and are ready to make the leap to building software, this book will be the patient and insightful mentor you need!

About the reader

For programmers comfortable with Python syntax. No experience with object-oriented software design required.

About the author

Ronald Mak is a former NASA senior scientist. Currently, he teaches data science and computer science at San Jose State University. He is the author of Object-Oriented Software Design in C++.
1148603092
Software Design for Python Programmers: Principles and patterns
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.

About the book

Software Design in Python helps you build software like the pros. In clear, jargon-free language it lays out the object-oriented design principles, practices, and patterns that you need to know to build scalable and maintainable applications. Throughout, you’ll find intuitive “before” and “after” examples that show you what bad code looks like, and how to fix it with the right pattern. Conversation sidebars feature engaging talking heads that ask-and-answer common questions. If you know the basics of Python code and are ready to make the leap to building software, this book will be the patient and insightful mentor you need!

About the reader

For programmers comfortable with Python syntax. No experience with object-oriented software design required.

About the author

Ronald Mak is a former NASA senior scientist. Currently, he teaches data science and computer science at San Jose State University. He is the author of Object-Oriented Software Design in C++.
43.99 Pre Order
Software Design for Python Programmers: Principles and patterns

Software Design for Python Programmers: Principles and patterns

by Ronald Mak
Software Design for Python Programmers: Principles and patterns

Software Design for Python Programmers: Principles and patterns

by Ronald Mak

eBook

$43.99 
Available for Pre-Order. This item will be released on February 24, 2026

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

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.

About the book

Software Design in Python helps you build software like the pros. In clear, jargon-free language it lays out the object-oriented design principles, practices, and patterns that you need to know to build scalable and maintainable applications. Throughout, you’ll find intuitive “before” and “after” examples that show you what bad code looks like, and how to fix it with the right pattern. Conversation sidebars feature engaging talking heads that ask-and-answer common questions. If you know the basics of Python code and are ready to make the leap to building software, this book will be the patient and insightful mentor you need!

About the reader

For programmers comfortable with Python syntax. No experience with object-oriented software design required.

About the author

Ronald Mak is a former NASA senior scientist. Currently, he teaches data science and computer science at San Jose State University. He is the author of Object-Oriented Software Design in C++.

Product Details

ISBN-13: 9781638357834
Publisher: Manning
Publication date: 02/24/2026
Sold by: SIMON & SCHUSTER
Format: eBook
Pages: 475

About the Author

Ronald Mak is a highly rated instructor in object-oriented analysis and design at San Jose State University. His career has included roles as a senior computer scientist at NASA and JPL, where he contributed to major missions like Mars rovers and the Orion spacecraft. Ronald's expertise spans research at IBM, enterprise software strategy at Lawrence Livermore Lab, and senior roles at Apple and Sun Microsystems. He holds degrees in mathematical sciences and computer science from Stanford University, and has 12 software patents. Object-Oriented Software Design in C++ is his sixth book.
From the B&N Reads Blog

Customer Reviews