Jump to ratings and reviews
Rate this book

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

Rate this book
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

280 pages, Paperback

Published May 12, 2020

Loading...
Loading...

About the author

Harry Percival

4 books67 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
274 (52%)
4 stars
184 (35%)
3 stars
50 (9%)
2 stars
7 (1%)
1 star
2 (<1%)
Displaying 1 of 1 review
Profile Image for Alireza Aghamohammadi.
54 reviews49 followers
June 24, 2022
به این مسئله توجه کنید. یک سیستم فروشگاهی را در نظر بگیرید که میلیون‌ها کاربر فعال دارد. از محصولی تنها یک عدد باقی مانده است. ممکن است چند کاربر به صورت همزمان در حال مشاهده صفحه آن محصول باشند. اگر یکی از مشتریان محصول را خرید، دیگران که در حال مشاهده صفحه بودند چه زمانی باید متوجه این قضیه شوند؟ به چه شکل این سیستم بزرگ را از لحاظ کارایی باید مدیریت کنیم (سیستم کند نشود؟

این کتاب در سطح پیشرفته قرار دارد و مفاهیم جدید طراحی و معماری نرم‌افزار را مانند معماری تمیز، طراحی قلمرو محور، مایکروسرویس‌ها و معماری رویداد محور با استفاده از زبان برنامه‌نویسی پایتون آموزش می‌دهد. به نظرم در دو حالت کتاب را مطالعه کنید:
۱. پایتون را در سطح پیشرفته بلد هستید و می‌خواهید سطح دانش خود را در حوزه‌های دیگر مانند معماری و طراحی بهبود ببخشید.
۲. بر روی سیستمی کار می‌کنید که تعداد کاربران فعال آن میلیونی (یا بیشتر) است.
Displaying 1 of 1 review