Architecture and Design Practices
How to structure Python software that lasts.
This is an overview — pick a sub-topic below.
Sub-topics (6)
Clean Code and SOLID Principles
Readable names, small functions, single responsibility, and depending on abstractions.
Design Patterns in Python
Factory, Strategy, Observer, Adapter, Decorator, Singleton — many become simpler with first-class functions.
Layered, Hexagonal and Clean Architecture
Keep business logic independent of frameworks, databases and UIs.
Domain-Driven Design and Event-Driven Architecture
Model software around the business domain; communicate between parts with events.
Monorepos, Plugins and Dependency Injection
Organise many packages in one repo, extend apps via plugins (entry points, pluggy), and pass dependencies in rather than hard-coding them.
Code Review, Refactoring and Technical Debt
Improve code continuously through review and small refactors backed by tests.
Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.
Discussion (0)
Sign in or join free to ask questions and discuss this topic.