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

Percival, Harry, Gregory, Bob

買這商品的人也買了...

商品描述

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

商品描述(中文翻譯)

隨著Python在人氣上的持續增長,專案也變得越來越大且複雜。許多Python開發者現在對於高層級的軟體架構模式,如六邊形/乾淨架構、事件驅動架構,以及領域驅動設計(DDD)所提供的策略模式感到興趣。但是,將這些模式轉化為Python並不總是直截了當的。

在這本實用指南中,來自MADE.com的Harry Percival和Bob Gregory介紹了一些經過驗證的架構設計模式,以幫助Python開發者管理應用程式的複雜性。每個模式都以具體的Python範例來說明,並解釋如何避免一些Java和C#語法中不必要的冗長。您將學習如何以Pythonic的方式實現這些模式。

架構設計模式包括:
- 依賴反轉,以及它與端口和適配器的關聯(六邊形/乾淨架構)
- 領域驅動設計中實體、值物件和聚合之間的區別
- 持久性儲存的存儲庫和工作單元模式
- 事件、命令和訊息匯流排
- 命令查詢責任分離(CQRS)
- 事件驅動架構和反應式微服務

作者簡介

After an idyllic childhood spent playing with BASIC on French 8-bit computers like the Thomson T-07 whose keys go "boop" when you press them, Harry Percival 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 worked at PythonAnywhere LLP, spreading the gospel of TDD world-wide at talks, workshops and conferences. He is now with MADE.COM.

Bob Gregory is a UK-based software architect with MADE.COM. He has been building event driven systems with domain-driven design for more than a decade.

作者簡介(中文翻譯)

在法國的8位元電腦上,像是Thomson T-07這樣的電腦,按下按鍵時會發出「boop」聲,哈利·珀西瓦爾度過了一個田園般的童年,與BASIC一起玩耍。然而,他在擔任管理顧問期間感到非常不快樂。不久之後,他重新發現了自己真正的業餘愛好,並有幸加入了一群XP狂熱者,一起在先驅性但可惜已經停運的Resolver One試算表上工作。他在PythonAnywhere LLP工作,通過演講、研討會和會議在全球傳播TDD的福音。他現在在MADE.COM工作。

鮑勃·格雷戈里是MADE.COM的軟體架構師,居住在英國。他已經使用領域驅動設計建立事件驅動系統超過十年。