Ronald Mak: Software Design for Python Programmers, Kartoniert / Broschiert
Software Design for Python Programmers
- Principles and Patterns
Sie können den Titel schon jetzt bestellen. Versand an Sie erfolgt gleich nach Verfügbarkeit.
- Verlag:
- Manning Publications, 02/2026
- Einband:
- Kartoniert / Broschiert
- Sprache:
- Englisch
- ISBN-13:
- 9781633439498
- Artikelnummer:
- 12491329
- Umfang:
- 475 Seiten
- Gewicht:
- 567 g
- Erscheinungstermin:
- 24.2.2026
- Hinweis
-
Achtung: Artikel ist nicht in deutscher Sprache!
Klappentext
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.
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
About the Technology
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
About the Readers
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
Biografie
Ronald Mak was a senior computer scientist and software architect at the NASA Ames Research Center. He was the architect and lead developer of the middleware for the Collaborative Information Portal, an important enterprise software system that is a part of NASA's ongoing and highly successful Mars Exploration Rover mission. Mission managers, scientists, and engineers continue to use CIP--after over two years of continuous operation, it has an uptime record of better than 99.9 percent.Working as a key member of the CIP development teamvalidated the principles that Ron describes in this book.Ron was also the architect and lead developer of an enterprise class information portal for NASA's International Space Station and the future Crew Exploration Vehicle.Prior to joining NASA, Ron had over 15 years of experience designing and developing enterprise systems using several programming languages and technologies on various platforms.Most of these systems were highly successful, but therewere a few failures, too. The Martian principles are derivedfrom these experiences.Ron held an academic appointment with the University of California at Santa Cruz, and he worked on contract to NASAAmes. He earned his B.S. degree with distinction in the Mathematical Sciences and his M.S. degree in Computer Science from Stanford University.He has written three previous books on computer science, Java Number Cruncher, the Java Programmer's Guide to Numerical Computing (Prentice Hall PTR, 2003), Writing Compilers and Interpreters, C++ Edition (Wiley, 1996), and Writing Compilers and Interpreters, a Practical Approach (Wiley, 1991). He recently wrote several papers about CIP for refereed journals. He continues to hone his exposition of the Martian principles by giving presentations to both industry and academic audiences.Ron recently co-founded and is the CTO of Willard&Lowe Systems, Inc. (www.willardlowe.com) which develops enterprise systems for information management and collaboration.