A study of the book Architecture Patterns With Python by Harry Percival and Bob Gregory. link
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn’t always straightforward...
A multi-region order allocator to batches of stock.
Four key design patterns:
- The Repository pattern, an abstraction over the idea of persistent storage
- The Service layer pattern clearly define where the use cases begin and end
- The Unit of work to provide atomic operations
- The Aggregate pattern to enforce the integrity of the data
- Domain Model
- Repository Pattern
- Abstractions
- Api and Service Layer
- High and Low Gear TDD
- Unit of Work Pattern
- Aggregates Pattern
- Events and the Message Bus Pattern
- Going to Town on the Message Bus
- Command handler
- Event-Driven Architecture
- Command-Query Responsibility Segregation (CQRS)
- Dependency Injection and Bootstrapping