A Repository minta absztrakt módon kapsúlázza az adathozzáférést egy gyűjtemény-szerű interfész mögé — szétválasztva az üzleti logikát attól, hogy az adatok hogyan kerülnek tárolásra és lekérésre. Ez leválasztja az alkalmazást az adatforrásokról (adatbázisok, API-k), javítva a tesztelhetőséget és a karbantarthatóságot.
Mit csinál a Repository minta
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
