Το Repository pattern αφαιρεί την πρόσβαση δεδομένων πίσω από μια διεπαφή που μοιάζει με συλλογή — διαχωρίζοντας τη λογική επιχείρησης από τον τρόπο αποθήκευσης και ανάκτησης δεδομένων. Αποσυνδέει την εφαρμογή από τις πηγές δεδομένων (βάσεις δεδομένων, APIs), βελτιώνοντας τη δοκιμασιμότητα και τη συντηρησιμότητα.
Τι κάνει το Repository pattern
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
