Previous
Soft Skills For Dummies

Soft Skills For Dummies

$7.00
Next

Generative AI For Dummies

$9.00
Generative AI For Dummies

Software Design for Python Programmers: Principles and patterns

Author: Ronald MakLanguage: EnglishPublisher: Manning PublicationsEdition: 1stPages: 458Year: 2026
$ USD
  • $ USD
  • ₦ NGN
  • € EUR
  • £ GBP
  • $ CAD

$21.00

🔒 Secure payments powered by Paystack, a Stripe company
📥 Instant download after payment

Add to Wishlist
Add to Wishlist

Description

Software Design for Python Programmers: Principles and patterns.

Software Design for Python Programmers: Build Better Applications with Modern Design Principles

Move beyond simply writing Python code and learn how to design clean, scalable, and maintainable software. This practical guide teaches you how to transform ideas into well-structured Python applications using proven software design principles, object-oriented techniques, and industry-standard design patterns.

Book Overview

Writing code is only one part of software development—designing applications that are reliable, flexible, and easy to maintain is what separates good programmers from great ones. Software Design for Python Programmers helps you develop the architectural thinking needed to build professional-quality software.

Using intuitive before-and-after examples, the book demonstrates how thoughtful design decisions can dramatically improve code readability, maintainability, and long-term scalability. You’ll learn how to analyze requirements, plan software architecture, and iteratively refine your designs before implementing solutions in Python.

The book explores the Pythonic approach to software architecture, covering concepts such as abstraction, encapsulation, cohesion, coupling, inheritance, composition, decorators, and modular design. Although all examples are written in Python, the underlying principles can be applied to many object-oriented programming languages.

As you progress, you’ll discover how to apply classic software design patterns to solve common development challenges while keeping your applications organized, reusable, and easy to extend.

What You’ll Learn

  • Analyze software requirements and design effective application architectures
  • Improve designs through iterative development techniques
  • Create Python classes with high cohesion and loose coupling
  • Apply encapsulation and abstraction to build maintainable code
  • Use decorators to extend functionality and enforce application behavior
  • Implement flexible and reusable object-oriented designs
  • Apply proven software engineering principles to improve code quality
  • Select and implement appropriate design patterns for real-world projects
  • Build recursive algorithms and backtracking solutions
  • Design safe and efficient multithreaded Python applications

Key Topics Covered

  • Transforming vague requirements into structured software designs
  • Python-specific software architecture techniques
  • Class design and object-oriented best practices
  • Encapsulation, inheritance, and abstraction
  • Decorators and behavioral enhancement
  • Modular application development
  • Recursion and algorithm design
  • Concurrent and multithreaded programming

Who This Book Is For

This book is intended for developers who are already comfortable with Python syntax and want to improve their software design skills. It is ideal for programmers seeking to build larger, more maintainable applications using professional software engineering practices.

About the Author

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

Table of Contents

Part 1: Foundations of Software Design

  1. The Path to Well-Designed Software
  2. Improving Designs Through Iteration

Part 2: Designing the Right Solution

  1. Gathering Requirements for Effective Applications
  2. Building High-Quality Classes

Part 3: Object-Oriented Design Principles

  1. Hiding Class Implementations
  2. Designing Predictable Software
  3. Building Effective Subclass Hierarchies

Part 4: Design Patterns

  1. Template Method and Strategy Patterns
  2. Factory Method and Abstract Factory Patterns
  3. Adapter and Façade Patterns
  4. Iterator and Visitor Patterns
  5. Observer Pattern
  6. State Pattern
  7. Singleton, Composite, and Decorator Patterns

Part 5: Advanced Design Techniques

  1. Designing Recursive and Backtracking Solutions
  2. Designing Multithreaded Programs

Reviews

There are no reviews yet.

Be the first to review “Software Design for Python Programmers: Principles and patterns”

Your email address will not be published. Required fields are marked *

Shopping cart

0
image/svg+xml

No products in the cart.

Continue Shopping