Overview
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are now taking an interest in high-level software architecture patterns such as hexagonal/clean architecture, event-driven architecture, and strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn’t always straightforward.
With this practical guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity. Each pattern is illustrated with concrete examples in idiomatic Python that explain how to avoid some of the unnecessary verbosity of Java and C# syntax. You’ll learn how to implement each of these patterns in a Pythonic way.
Architectural design patterns include:
- Dependency inversion, and its links to ports and adapters (hexagonal/clean architecture)
- Domain-driven design’s distinction between entities, value objects, and aggregates
- Repository and Unit of Work patterns for persistent storage
- Events, commands, and the message bus
- Command Query Responsibility Segregation (CQRS)
- Event-driven architecture and reactive microservices
While major retailers like Amazon may carry Architecture Patterns with Python (Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices), we specialize in bulk book sales and offer personalized service from our friendly, book-smart team based in Portland, Oregon. We’re proud to offer a Price Match Guarantee and a streamlined ordering experience from people who truly care.
We’re trusted by over 75,000 customers, many of whom return time and again. Want proof? Just check out our 25,000+ customer reviews—real feedback from people who love how we do business.
Prefer to talk to a real person? Our Book Specialists are here Monday–Friday, 8 a.m. to 5 p.m. PST and ready to help with your bulk order of Architecture Patterns with Python (Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices).