Python · Section 32
Architecture and Design Patterns
How to structure an application above the level of a single class — layered, modular monolith, clean, and hexagonal architecture, domain-driven design fundamentals, microservices and event-driven architecture — and the named object-oriented patterns (Factory, Abstract Factory, Strategy, Adapter, Repository, Service Layer, Dependency Injection, Observer, Command, Builder, Decorator) a working engineer is expected to recognize, apply, and know when NOT to apply.
This section
- Common architecture stylesFour ways to draw the boundary between business logic and infrastructure (layered, modular monolith, clean, hexagonal), domain-driven design's vocabulary for modeling the business itself, and the two ways to split a system beyond one process (microservices, event-driven).3 standard3 concepts
- PatternsThe named object-oriented patterns a working engineer is expected to recognize and apply — creational (Factory, Abstract Factory, Builder), structural (Adapter, Decorator), behavioral (Strategy, Observer, Command), and the architectural seams (Repository, Service Layer, Dependency Injection) that connect layers.8 core1 standard1 reference10 concepts

