Architektur Fortgeschritten
Clean Architecture — Schichten und Abhängigkeiten¶
Clean ArchitectureSOLIDUncle Bob 3 Min. Lesezeit
Robert C. Martins Clean Architecture. Abhängigkeitsregel, Entities, Use Cases und Implementierung.
Vier Schichten¶
- Entities — Enterprise Business Rules
- Use Cases — Application Business Rules
- Interface Adapters — Controllers, Gateways
- Frameworks — DB, UI, Web Framework
Abhängigkeiten zeigen nur nach innen. Innere Schichten wissen nichts von äußeren.
Implementierung¶
# entities/user.py — keine externen Imports!
class User:
def __init__(self, name: str, email: str):
if '@' not in email: raise ValueError("Invalid email")
self.name = name
self.email = email
# use_cases/create_user.py
class CreateUserUseCase:
def __init__(self, user_repo: UserRepository):
self.user_repo = user_repo
def execute(self, name, email) -> User:
user = User(name, email)
self.user_repo.save(user)
return user
Dependency Inversion¶
Der Use Case definiert das Interface, die äußere Schicht implementiert es. Das ist der Schlüssel zur Unabhängigkeit.
Zusammenfassung¶
Clean Architecture sichert die Unabhängigkeit der Geschäftslogik von Frameworks. Clean, Hexagonal und Onion teilen dasselbe Prinzip — Isolation der Domäne.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.