---
product_id: 208027396
title: "Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices"
price: "£42.44"
currency: GBP
in_stock: true
reviews_count: 11
url: https://www.desertcart.co.uk/products/208027396-architecture-patterns-with-python-enabling-test-driven-development-domain-driven
store_origin: GB
region: United Kingdom
---

# Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices

**Price:** £42.44
**Availability:** ✅ In Stock

## Quick Answers

- **What is this?** Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
- **How much does it cost?** £42.44 with free shipping
- **Is it available?** Yes, in stock and ready to ship
- **Where can I buy it?** [www.desertcart.co.uk](https://www.desertcart.co.uk/products/208027396-architecture-patterns-with-python-enabling-test-driven-development-domain-driven)

## Best For

- Customers looking for quality international products

## Why This Product

- Free international shipping included
- Worldwide delivery with tracking
- 15-day hassle-free returns

## Description

Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices [Percival, Harry, Gregory, Bob] on desertcart.com. *FREE* shipping on qualifying offers. Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices

Review: The Software Engineering Book You Need - Authors: Harry J.W. Percival, Bob Gregory Publisher: O'Reilly Publication Date: 3/5/2020 Disclaimer: I am reviewing my own copy of this book because I want to. The publisher did not provide me with a copy. I promise to be 100% honest in how I feel about this book, both the good and the less so. About the Book This is an introductory software engineering book that gives you more hand-on experience than your typical software engineering course. The authors discuss domain-driven design, test-driven development, the basic concepts of object-oriented programming, and general software architecture. It's broken up into two parts: Building an Architecture to Support Domain Modeling and Event-Driven Architecture, with a bit extra thrown in at the end to fill in some gaps. This is an unofficial follow up to one author's previous book, Test-Driven Design in Python. The first half, on building the architecture, gives you a high level view of your software and about setting it up for success. It starts with an introduction to domain modelling, discusses basic architecture patterns, and gives examples of the Flask API. It finishes with setting up your tests and being ready to add the meat to the bones. The second half, on event-driven architecture, looks at event handling and the message bus that serves of the backbone of your application. Who is This For and Why Was it Written? In the preface, the authors claim that you are an experienced Python developer who has developed applications with at least a moderate amount of complexity, You have realized how difficult this can be, but you don't know much if anything about Domain Driven Design or basic architecture patterns. I would expand this to a slightly wider audience. If you're an advanced undergraduate who has spent their university career working in Python and were not satisfied with your Software Engineering course, this book is for you. If you are about to create your own open source project with even the slightest bit of complexity, this book is for you. If you want to work on or take over an abandoned open source project, this book is for you. There are other people this is for, but I'll end the list here. I would argue that this book fills a gap left by a LOT of software engineering books. First, it gives you a hands-on experience, so long as you follow the code. Second, is discusses patterns that I never learned in my software engineering course. Third, it gives a good introduction to microservices, which are common right now. Organization The first part of the book begins as soon as the introduction ends. Half way through the book, they leave the architecture and look at the code running within that architecture. Then it finishes with a series of appendices that fill in missing bits, expand on important topics, or give alternatives to how the main parts of the book handled this topic. One example is how to use Django rather than Flask to achieve the same results. Within a chapter, there are a page or two that gives you a high level view of the upcoming text. Each chapter comes in at 15-25 pages of clear written prose. Then they finish up with a Wrap-Up (Summary) section where they review what you just read while also giving you a taste of what is to come. Did This Book Succeed? I think that this book does very well. As someone who wants to write their own large program without knowing where to start (like so many of us), I picked up this book at just the right time. It's not going to teach you all of software engineering (which they did not claim to do), nor is it going to teach you Python. This is an intermediate level book who want to expand their developer's toolbox. t was well organized, well written, and very much needed, as one of the few books of its kind. Rating and Final Thoughts This is a great book, which earns a 5 out of 5. It's the book I need the most right now, as it will let me step up with my Python development. I very much hope that the authors consider collaborating again for a design pattern book for Python. I would expect it to be as well organized and written.
Review: Most educational programming book I've ever read - Each chapter builds upon the previous. The example business problem in focus is very easy to grasp. The authors provide such succinct practical examples of how they approach the solution for each problem and why. As a self-taught programmer, this book helped to bring life to many of the architectural patterns that you read about. I've literally spent years reading this book on and off while I live my life. It has been incredibly enjoyable applying the learnings of each chapter to some of my personal side projects. Thanks goes to the authors, Bob and Harry, for writing this book. I have no words to describe how grateful I am to you both for writing down your learnings from your practical professional experience working at Made.com. Thank you.

## Technical Specifications

| Specification | Value |
|---------------|-------|
| Best Sellers Rank | #193,674 in Books ( See Top 100 in Books ) #23 in Computer Hardware Design & Architecture #70 in Computer Programming Languages #71 in Python Programming |
| Customer Reviews | 4.6 4.6 out of 5 stars (553) |
| Dimensions  | 6.9 x 0.8 x 9.1 inches |
| Edition  | 1st |
| ISBN-10  | 1492052205 |
| ISBN-13  | 978-1492052203 |
| Item Weight  | 2.31 pounds |
| Language  | English |
| Print length  | 304 pages |
| Publication date  | April 14, 2020 |
| Publisher  | O'Reilly Media |

## Images

![Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices - Image 1](https://m.media-amazon.com/images/I/91EC3gsKfYL.jpg)

## Customer Reviews

### ⭐⭐⭐⭐⭐ The Software Engineering Book You Need
*by K***R on June 19, 2020*

Authors: Harry J.W. Percival, Bob Gregory Publisher: O'Reilly Publication Date: 3/5/2020 Disclaimer: I am reviewing my own copy of this book because I want to. The publisher did not provide me with a copy. I promise to be 100% honest in how I feel about this book, both the good and the less so. About the Book This is an introductory software engineering book that gives you more hand-on experience than your typical software engineering course. The authors discuss domain-driven design, test-driven development, the basic concepts of object-oriented programming, and general software architecture. It's broken up into two parts: Building an Architecture to Support Domain Modeling and Event-Driven Architecture, with a bit extra thrown in at the end to fill in some gaps. This is an unofficial follow up to one author's previous book, Test-Driven Design in Python. The first half, on building the architecture, gives you a high level view of your software and about setting it up for success. It starts with an introduction to domain modelling, discusses basic architecture patterns, and gives examples of the Flask API. It finishes with setting up your tests and being ready to add the meat to the bones. The second half, on event-driven architecture, looks at event handling and the message bus that serves of the backbone of your application. Who is This For and Why Was it Written? In the preface, the authors claim that you are an experienced Python developer who has developed applications with at least a moderate amount of complexity, You have realized how difficult this can be, but you don't know much if anything about Domain Driven Design or basic architecture patterns. I would expand this to a slightly wider audience. If you're an advanced undergraduate who has spent their university career working in Python and were not satisfied with your Software Engineering course, this book is for you. If you are about to create your own open source project with even the slightest bit of complexity, this book is for you. If you want to work on or take over an abandoned open source project, this book is for you. There are other people this is for, but I'll end the list here. I would argue that this book fills a gap left by a LOT of software engineering books. First, it gives you a hands-on experience, so long as you follow the code. Second, is discusses patterns that I never learned in my software engineering course. Third, it gives a good introduction to microservices, which are common right now. Organization The first part of the book begins as soon as the introduction ends. Half way through the book, they leave the architecture and look at the code running within that architecture. Then it finishes with a series of appendices that fill in missing bits, expand on important topics, or give alternatives to how the main parts of the book handled this topic. One example is how to use Django rather than Flask to achieve the same results. Within a chapter, there are a page or two that gives you a high level view of the upcoming text. Each chapter comes in at 15-25 pages of clear written prose. Then they finish up with a Wrap-Up (Summary) section where they review what you just read while also giving you a taste of what is to come. Did This Book Succeed? I think that this book does very well. As someone who wants to write their own large program without knowing where to start (like so many of us), I picked up this book at just the right time. It's not going to teach you all of software engineering (which they did not claim to do), nor is it going to teach you Python. This is an intermediate level book who want to expand their developer's toolbox. t was well organized, well written, and very much needed, as one of the few books of its kind. Rating and Final Thoughts This is a great book, which earns a 5 out of 5. It's the book I need the most right now, as it will let me step up with my Python development. I very much hope that the authors consider collaborating again for a design pattern book for Python. I would expect it to be as well organized and written.

### ⭐⭐⭐⭐⭐ Most educational programming book I've ever read
*by M***N on December 1, 2024*

Each chapter builds upon the previous. The example business problem in focus is very easy to grasp. The authors provide such succinct practical examples of how they approach the solution for each problem and why. As a self-taught programmer, this book helped to bring life to many of the architectural patterns that you read about. I've literally spent years reading this book on and off while I live my life. It has been incredibly enjoyable applying the learnings of each chapter to some of my personal side projects. Thanks goes to the authors, Bob and Harry, for writing this book. I have no words to describe how grateful I am to you both for writing down your learnings from your practical professional experience working at Made.com. Thank you.

### ⭐⭐⭐⭐ The Book That Intermediate Python Programmers Should Read
*by K***H on August 17, 2020*

Designing software has never been a deterministic field. Meaning, when creating an app, there's no one way to do things. Change is always inevitable. That's where the book comes in. It gives a sense of "determinism" to designing large-scale apps. But this book contains one flaw - not related to the content itself - but to the presentation/printing. I just wish that O'Reilly took care in printing the diagrams more. At least, the diagrams should be colored the same as the ebook versions.

## Frequently Bought Together

- Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
- Fluent Python: Clear, Concise, and Effective Programming
- High Performance Python: Practical Performant Programming for Humans

---

## Why Shop on Desertcart?

- 🛒 **Trusted by 1.3+ Million Shoppers** — Serving international shoppers since 2016
- 🌍 **Shop Globally** — Access 737+ million products across 21 categories
- 💰 **No Hidden Fees** — All customs, duties, and taxes included in the price
- 🔄 **15-Day Free Returns** — Hassle-free returns (30 days for PRO members)
- 🔒 **Secure Payments** — Trusted payment options with buyer protection
- ⭐ **TrustPilot Rated 4.5/5** — Based on 8,000+ happy customer reviews

**Shop now:** [https://www.desertcart.co.uk/products/208027396-architecture-patterns-with-python-enabling-test-driven-development-domain-driven](https://www.desertcart.co.uk/products/208027396-architecture-patterns-with-python-enabling-test-driven-development-domain-driven)

---

*Product available on Desertcart United Kingdom*
*Store origin: GB*
*Last updated: 2026-05-18*