Software Design for Python Programmers
eBook - ePub

Software Design for Python Programmers

Principles and patterns

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Software Design for Python Programmers

Principles and patterns

About this book

Software Design for Python Programmers 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

Trusted by 375,005 students

Access to over 1 million titles for a fair monthly price.

Study more efficiently using our study tools.

Information

Publisher
Manning
Year
2026
eBook ISBN
9781638357834

Table of contents

  1. Software Design for Python Programmers
  2. copyright
  3. contents
  4. preface
  5. acknowledgments
  6. about this book
  7. about the author
  8. about the cover illustration
  9. Part 1 Introduction
  10. 1 The path to well-designed software
  11. 2 Iterate to achieve good design
  12. Part 2 Design the right application
  13. 3 Get requirements to build the right application
  14. 4 Good class design to build the application right
  15. Part 3 Design the application right
  16. 5 Hide class implementations
  17. 6 Don’t surprise your users
  18. 7 Design subclasses right
  19. Part 4 Design patterns solve application architecture problems
  20. 8 The Template Method and Strategy Design Patterns
  21. 9 The Factory Method and Abstract Factory Design Patterns
  22. 10 The Adapter and Façade Design Patterns
  23. 11 The Iterator and Visitor Design Patterns
  24. 12 The Observer Design Pattern
  25. 13 The State Design Pattern
  26. 14 The Singleton, Composite, and Decorator Design Patterns
  27. Part 5 Additional design techniques
  28. 15 Designing solutions with recursion and backtracking
  29. 16 Designing multithreaded programs

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn how to download books offline
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 990+ topics, we’ve got you covered! Learn about our mission
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more about Read Aloud
Yes! You can use the Perlego app on both iOS and Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app
Yes, you can access Software Design for Python Programmers by Ronald Mak in PDF and/or ePUB format, as well as other popular books in Computer Science & Object Oriented Programming. We have over one million books available in our catalogue for you to explore.