ManningBooks

ManningBooks

Devtalk Sponsor

Software Design for Python Programmers (Manning)

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.

Ronald Mak

Writing Python is one skill. Designing Python software is another.

Software Design for Python Programmers is now available, and it focuses on the decisions that shape how your code behaves as systems grow: how responsibilities are divided, how state is managed, and how small structural choices compound over time.

The book uses clear before-and-after examples to show how designs improve. You see how a piece of code starts, where it struggles, and what changes make it easier to extend, test, and reason about. Instead of presenting abstract rules, the material stays anchored in working Python.

Inside, the author walks through topics that working developers wrestle with:

• Turning requirements into an application structure
• Evolving designs through iteration rather than rigid upfront plans
• Building classes with strong cohesion and minimal coupling
• Using decorators to control behavior and enforce constraints
• Applying design principles that keep modules flexible
• Choosing patterns that solve actual design problems

There’s also a strong emphasis on common failure points in Python projects — unmanaged state, brittle class hierarchies, functions that quietly accumulate responsibilities — and how thoughtful design prevents those issues from appearing in the first place.

Although the examples are written in Python, the ideas carry across languages. The core theme is learning to think about software structure deliberately, not just line-by-line implementation.


Don’t forget you can get 45% off with your Devtalk discount! Just use the coupon code “devtalk.com” at checkout :+1:

Where Next?

Popular General Dev topics Top

PragmaticBookshelf
You’ve worked on agile teams before, but how do you use these same practices with a distributed team? You don’t! Taking off-the-shelf pra...
New
PragmaticBookshelf
Mob Programming is a natural extension of the popular Pair Programming concept and is not restricted to a specific programming language o...
New
PragmaticBookshelf
A single dramatic software failure can cost a company millions of dollars—but can be avoided with simple changes to design and architectu...
New
PragmaticBookshelf
Don’t engineer by coincidence—design it like you mean it! Grounded by fundamentals and filled with practical design methods, this is the ...
New
PragmaticBookshelf
Learn from the award-winning programming series that inspired the Elixir language, and go on a step-by-step journey through the most impo...
New
PragmaticBookshelf
This book will show you how to exploit different parallel architectures to improve your code’s performance, scalability, and resilience. ...
New
PragmaticBookshelf
Get your Raspberry Pi up and running and doing cool stuff. You’ll start with the basics: adding hardware, installing and configuring Debi...
New
PragmaticBookshelf
Programmers have to learn constantly; not just the stereotypical new technologies, but also the problem domain of the application, the wh...
New
PragmaticBookshelf
Guiding Star OKRs offer a fresh approach to goal-setting, emphasizing purpose, adaptability, and team empowerment for sustainable success...
New
PragmaticBookshelf
Small changes to your habits can improve your health—without getting in the way of your work. Joe Kutner @jkutner edited by Brian P...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1052 22283 402
New
PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
First poster: AstonJ
Jan | Rethink the Computer. Jan turns your computer into an AI machine by running LLMs locally on your computer. It’s a privacy-focus, l...
New
CommunityNews
A Brief Review of the Minisforum V3 AMD Tablet. Update: I have created an awesome-minisforum-v3 GitHub repository to list information fo...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New