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
Computer security is a complex issue. But you don’t have to be an expert in all the esoteric details to prevent many common attacks. Atta...
New
PragmaticBookshelf
Battle cost overruns, death marches, and legacy code monsters with novel ways to identify and prioritize technical debt, based on behavio...
New
PragmaticBookshelf
This book is for everyone who needs to test the web. Follow the testing pyramid and level up your skills in user interface testing, integ...
New
PragmaticBookshelf
Vim is a fast and efficient text editor that will make you a faster and more efficient developer. In more than 120 Vim tips, you’ll quick...
New
PragmaticBookshelf
This Quick-Start Guide is packed with fun, useful devices to create, with step-by-step instructions and photos throughout. You'll build ...
New
PragmaticBookshelf
JavaScript has moved from being the language you love to hate to the language you need to use. And as JavaScript applications get more co...
New
PragmaticBookshelf
Management is ready to disband your new agile team and outsource your project. Can you save The Dream Team? Portia Tung edited by L...
New
PragmaticBookshelf
Find out how the Swedish police combined XP, Scrum, and Kanban in a 60-person project. From start to finish, you’ll see how to deliver a ...
New
PragmaticBookshelf
Debug It! will equip you with the tools, techniques, and approaches to help you tackle any bug with confidence. These secrets of professi...
New
PragmaticBookshelf
Lint your docs like code: turn any style guide into enforceable rules with Vale and publish clear, consistent content every time. ...
New

Other popular topics Top

PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
DevotionGeo
I know that -t flag is used along with -i flag for getting an interactive shell. But I cannot digest what the man page for docker run com...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
New
DevotionGeo
I have always used antique keyboards like Cherry MX 1800 or Cherry MX 8100 and almost always have modified the switches in some way, like...
New
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New