Das Repository-Pattern abstrahiert Datenzugriff hinter einer kollektionsähnlichen Schnittstelle – es trennt Geschäftslogik von der Art und Weise, wie Daten gespeichert und abgerufen werden. Es entkoppelt die Anwendung von Datenquellen (Datenbanken, APIs) und verbessert damit Testbarkeit und Wartbarkeit.
Warum es wichtig ist
REPOSITORY → an abstraction layer between business logic and DATA ACCESS:
→ provides a clean interface (like a collection: findById, save, delete, findAll)
→ HIDES how/where data is actually stored (database, API, cache, files)
→ business logic uses the repository, NOT the database directly
→ separate WHAT data operations from HOW they're implemented
