Software Design in Python
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++.

Get a free eBook (PDF or ePub) from Manning as well as access to the online liveBook format (and its AI assistant that will answer your questions in any language) when you purchase the print book.

1148381875
Software Design in Python
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++.

Get a free eBook (PDF or ePub) from Manning as well as access to the online liveBook format (and its AI assistant that will answer your questions in any language) when you purchase the print book.

59.99 Pre Order
Software Design in Python

Software Design in Python

by Ronald Mak
Software Design in Python

Software Design in Python

by Ronald Mak

Paperback

$59.99 
  • SHIP THIS ITEM
    Available for Pre-Order. This item will be released on February 24, 2026

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++.

Get a free eBook (PDF or ePub) from Manning as well as access to the online liveBook format (and its AI assistant that will answer your questions in any language) when you purchase the print book.


Product Details

ISBN-13: 9781633439498
Publisher: Manning
Publication date: 02/24/2026
Pages: 475
Product dimensions: 7.38(w) x 9.25(h) x (d)

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