Software Design for Python Programmers: Principles and patterns
by Ronald Mak
$50.99 / copy at 25+ copies As low as $47.99 at 1,000+Your best volume price
Format
The more copies, the less each one costs
Applied automatically in your cart. No code needed.
Turn this order into a program
Groups that order in bulk often pair the copies with something more. We handle the extras so you don't have to.
One address, many sites or individual recipients' homes, in the US and abroad.
Fulfillment options Pair it with a branded journalJournals with your logo or each reader's name, for the same group.
Branded journalsBookPal is partnering with Talezo to help you find and book authors, speakers and performers for your event.
BookPal × TalezoSoftware Design for Python Programmers
This book 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.
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.
In Software Design for Python Programmers, you’ll learn 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 software starts with thoughtful design. You’ll be a more effective developer if you can decide how data will
flow through your applications, create a winning software architecture, and structure functions, classes, and modules before you write a line of code. This book will get you started!
About the Book
Software Design for Python Programmers is a practical guide for creating maintainable, well-structured software in Python. By investigating clear “before and after” examples, you’ll discover how even small design choices can have a huge impact on an application’s clarity and reliability. As you go, you’ll learn how to gather requirements, shape a program’s architecture iteratively, create clean and reusable abstractions, and select design patterns that solve the real problems you’ll face on the job.
What’s Inside
- Turn vague requirements into solid designs
- Python-specific software design techniques
- Create classes with high cohesion and loose coupling
For programmers comfortable with Python syntax.
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++.
Table of Contents
Part 1
1 The path to well-designed software
2 Iterate to achieve good design
Part 2
3 Get requirements to build the right application
4 Good class design to build the application right
Part 3
5 Hide class implementations
6 Don’t surprise your users
7 Design subclasses right
Part 4
8 The Template Method and Strategy Design Patterns
9 The Factory Method and Abstract Factory Design Patterns
10 The Adapter and Façade Design Patterns
11 The Iterator and Visitor Design Patterns
12 The Observer Design Pattern
13 The State Design Pattern
14 The Singleton, Composite, and Decorator Design Patterns
Part 5
15 Designing solutions with recursion and backtracking
16 Designing multithreaded programs
The book, Software Design for Python Programmers: Principles and patterns [Bulk, Wholesale, Quantity] ISBN#9781633439498 in Paperback by Ronald Mak may be ordered in bulk quantities. Minimum starts at 25 copies. Availability based on publisher status and quantity being ordered.
Details
- Publisher
- Manning
- Author
- Ronald Mak
- Format
- Paperback
- Published
- Feb 17, 2026
- ISBN-13
- 9781633439498
- ISBN-10
- 1633439496
- Pages
- 456
Software Design for Python Programmers in bulk: pricing
Volume pricing applies automatically in your cart. No codes, no account needed.
| Copies | Price per copy | You save |
|---|---|---|
| 25 – 99 | $50.99 | 15% off list |
| 100 – 249 | $50.39 | 16% off list |
| 250 – 499 | $49.79 | 17% off list |
| 500 – 999 | $49.19 | 18% off list |
| 1,000+ | $47.99 | 20% off list |
Popular for
A copy for every member, on one order.
A book for every attendee, delivered to your venue.
For clients, staff, members or volunteers.
How fast can I get copies of Software Design for Python Programmers?
Need them by a specific date? Request a quote and we'll confirm timing before you pay.
Can you ship to several locations or people's homes?
Yes. We ship in bulk to one address, to multiple sites, or to individual recipients, in the US and internationally. See fulfillment options.
Can I get a formal quote for approval before ordering?
Yes. Request a quote and we'll send a PDF you can forward for approval.
Do you accept purchase orders and tax-exempt orders?
Yes. We accept purchase orders upon approval, as well as cards, PayPal, ACH, wire transfers and checks. BookPal is a tax-exempt supplier in all 50 states. See purchase orders and sales tax exemption.
What if I find a lower price?
Send us the link. We match prices from other bulk booksellers and distributors on a new copy in the same edition, available to ship in the quantity you need. Clearance sales and pricing errors are the exception, and we'll tell you quickly if that's the case. Start a price match.
What buyers say
Write a Review
Software Design for Python Programmers: Principles and patterns
Groups also order




A colleague asked you to approve this order
Your quote list
Add books as you browse, then request one quote for all of them.