Customers who viewed this item also viewed
Used – Very Good
USD37.36USD37.36
Dispatches from: World of Books Ltd Sold by: World of Books Ltd
Sorry, there was a problem.
There was an error retrieving your Wish Lists. Please try again.Sorry, there was a problem.
List unavailable.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet or computer – no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the authors
OK
Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices Paperback – Illustrated, 20 Mar. 2020
Purchase options and add-ons
With this hands-on guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity-and get the most value out of their test suites.
Each pattern is illustrated with concrete examples in beautiful, idiomatic Python, avoiding some of the verbosity of Java and C# syntax. 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
- Print length304 pages
- LanguageEnglish
- PublisherO′Reilly
- Publication date20 Mar. 2020
- Dimensions17.53 x 2.03 x 23.11 cm
- ISBN-101492052205
- ISBN-13978-1492052203
Frequently bought together

What other items do customers buy after viewing this item?
From the brand
-
Sharing the knowledge of experts
O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
Product description
Review
About the Author
Product details
- Publisher : O′Reilly
- Publication date : 20 Mar. 2020
- Edition : Illustrated
- Language : English
- Print length : 304 pages
- ISBN-10 : 1492052205
- ISBN-13 : 978-1492052203
- Item weight : 1.05 kg
- Dimensions : 17.53 x 2.03 x 23.11 cm
- Best Sellers Rank: 254,935 in Books (See Top 100 in Books)
- Customer reviews:
About the authors

After an idyllic childhood spent playing with BASIC on French 8-bitcomputers like the Thomson T-07 whose keys go "boop" when you press them, Harry went on to study Economics and Philosophy at Cambridge University. He then spent a few years being deeply unhappy as a management consultant. Soon he rediscovered his true geek nature, and was lucky enough to fall in with a bunch of XP fanatics, working on the pioneering but sadly defunct Resolver One spreadsheet. He now works at PythonAnywhere LLP, and spreads the gospel of TDD world-wide at talks, workshops and conferences, with all the passion and enthusiasm of a recent convert.

Discover more of the author’s books, see similar authors, read book recommendations and more.
Products related to this item
Customer reviews
Customer Reviews, including Product Star Ratings, help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviews with images
Cheap quality print. A new low for O'Reilly.
Top reviews from United Kingdom
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United Kingdom on 17 December 2020Format: PaperbackVerified PurchaseThe writing style is approachable and clear and very consice - there is no waffle.
The book introduces a moderate number of patterns without disappearing into academia. Everything is throughly grounded in the real world, and you are brought through the material in a way that is hightly relatable.
For our own codebase, this book has the highest density of applicability to the problems that my team faces - by a long long way! Much as I like Clean Code and The Pragmatic Programmer, those books leave it to the reader to relate the learning back to their own daily problems. This book makes it so easy to see a path forward in your daily work.
You can read this and come out with immediate and concrete actions for your codebase, and arguments you can make in favour of those actions.
It is fairly high in code snippets, although they are all short and very comprehensible.
This book is an absolute must if you are in a young team that is trying to build its engineering practices. You can give this book to someone who has no concept of patterns and they will get it just as easily as if they had read GoF.
Definitely one of my top three books, and I am arguing for my team to use this book in place of writing our own coding guidelines.
I think that the book goes a little further than I'd like in the jokey over-approachable "hey look we're nerds here" style, but it isn't enough to annoy. That's literally the only thing I can think to change. It's essentially perfect.
Bob, Harry, thank you, you have helped us.
- Reviewed in the United Kingdom on 21 September 2020Format: PaperbackVerified PurchaseI've had an interest in Domain Driven Design ever since picking up the Evans book over a decade ago. A fascinating read, but could've been half the size. Since then, there have been other DDD books, all fine texts in their own way, but let down by also being larger than they should be and making the assumption you're using a verbose, statically typed language like Java or C# (presumably to appear "enterprisey").
There's been a definite need for something covering DDD from the perspective of dynamic languages. From my own experience of 23 years as a professional developer, dynamic languages are just as good at writing large software, and arguably the better choice for writing code that is clearer, cleaner, and closer to the domain. Well, this book successfully fills the gap: distilling the key points of DDD in a concise, pragmatic way that's accessible to Python developers.
I'm hard-pressed to think of other Python books that tackle large-scale software development and architectural design, so even if you're not too fussed about DDD, it's still a worthy read to broaden your "enterprise" Python skills.
Given the lack of DDD coverage for dynamic languages, this might also be of use to non-Pythonistas, although you'll need some familiarity with the language. Trust me, it's not too difficult to pick it up if you come from languages like Ruby or JavaScript.
If I have just one grumble, and I haven't docked points for this because it's not the fault of the authors, but O'Reilly books are very expensive these days at full price (I've been buying O'Reilly books for almost 30 years). Fortunately, I managed to grab a copy here at a much more reasonable price - I hope I haven't cost the authors some royalties!
- Reviewed in the United Kingdom on 9 July 2023Format: Kindle EditionVerified PurchaseThe book does a good job in introducing many concepts and show how they could be implemented in a simplified version of a business application which spans from the beginning to the end with iterative improvements along the way. Concepts like dependency injection, “unit of work” and aggregates to name just a few. Along the way, there is always a focus on how to test your code which is often neglected and mentioned only theoretically in other books.
Event driven architecture covers the message bus as well as events and commands. It does not cover the difficulties that come along with events like how to handle errors, lost messages, replay ability. These difficulties are only mentioned in the appendix with some references to other sources. The text focuses more on the benefits that such an architecture can bring to your application.
Overall, I think this book is very useful if you are new to the design of microservices and learn some tricks in Python along the way.
- Reviewed in the United Kingdom on 16 April 2020Format: PaperbackVerified PurchaseI've been a professional developer in various languages over the last two decades and there has always been a gap in programming books at the point where you've learnt all the syntax and APIs but then need to know how to actually put a big system together properly. There are books about design patterns and about XP and Agile but I have always been missing that book or two that says "This is how to put together a real system with real code in the real world."
This book is one of the few out there that fulfil that purpose and the only one I know of using Python. You can use it by your side as you're working and contemplating architecture decisions - this isn't a hand-wavy book that you read on holiday.
The authors work for an international furniture company and use examples from their work which are real but also comprehensible - you can understand that they want to improve delivery times and follow their thinking as they do it.
I recommend this book to anyone who has some experience with Python and wants to build robust and maintainable systems and wants to spend less time wondering how to organise their thinking.
Personally, I'm making the switch to Python from decades of PHP and this has been a great help in learning more architecture (that is usable in any language) and learning how to do things well in Python.
Top reviews from other countries
-
IGReviewed in Mexico on 18 September 20235.0 out of 5 stars Buena introducción a arquitectura de sw
Format: PaperbackVerified PurchaseEl libro da una buena introducción a patrones de arquitectura de sw y TDD. No ahonda en los conceptos pero si buscas un entendimiento y uso general de patrones de arquitectura y buenas prácticas este libro es para ti.
Ankush ChanderReviewed in India on 25 April 20205.0 out of 5 stars A much awaited resource in python community.
Format: Kindle EditionVerified PurchaseA must-read especially for people like myself who often find themselves struggling in software composition despite having gained some basic fluency with the programming language itself.
The lessons taught in the book transcends the programming language and are applicable in general.
Authors explain the architecture patterns with a sample project and as the book proceeds, you get to know the necessity and trade offs required by a developer to manage complexity.
A must-have book in the shelf of every programmer who writes software in python.
-
NicodemusReviewed in Brazil on 3 July 20205.0 out of 5 stars Um dos livros mais úteis e práticos que já li sobre padrões de arquitetura em Python
Format: PaperbackVerified PurchaseRecomendo esse livro fortemente para todos que buscam exemplos práticos de uma aplicação real em Python: mostra vários padrões e soluções arquiteturais para aplicações Web, os autores vão mostrando desde demain modelling até técnicas de microservices, sempre construindo o mesmo aplicativo, mostrando as soluções mais básicas, problemas que vão encontrando e como vão resolvendo. O livro é bem "down to earth" e nao tem medo de usar bibliotecas externas e que todos usam, entao os exemplos usam Flask, Redis, SQLAlchemy, pytest, etc. E os caras são bem honestos, final de cada capitúlo tem os prós e contras das técnicas que eles apresentaram, pra deixar claro que não existe silver-bullet ou uma solução que serve pra todos.
Muito muito bom mesmo, acho que ó o livro mais prático de arquitetura que já li.
HarveyReviewed in Canada on 31 August 20225.0 out of 5 stars Helps me to learn difficult concepts by actually doing rather than theorizing
Format: PaperbackVerified PurchaseThe whole book has a great Xtreme Programming vibe, where I'm sitting down next to the authors , and they are explaining every choice of refactoring and navigating the changes introduced into the system. Why/How things are introduced, why patterns are being put in, taken out, etc.. the tradeoffs, how we shouldn't always apply what is being applied in the current chapter... Each chapter elegantly flows into the next, and has a 'light' narrative of different events happening to the company, and you as the programming team, have to adjust and redesign the system to accommodate.
I am a person who can read the entire Vaugn Vernon Red book on DDD, but at the end, not really take away anything 'concrete' in my head. This book is the antidote as it goes through a concrete example of explaining how the real life company 'made.com' operates (Authors work there and ask new colleagues to read this book to get up to date on the codebases' patterns).
-
ValbouReviewed in France on 11 December 20255.0 out of 5 stars Indispensable au développeur Python mais applicable à tout langage
Format: PaperbackVerified PurchaseLivre indispensable à tout bon développeur Python, les principes évoques sont la base de la programmation efficace.
Ce livre est également disponible gratuitement en ligne sous le nom cosmic Python, en achetant cette version brochée vous soutenez l'auteur.

















