Repository ਪੈਟਰਨ ਡਾਟਾ ਐਕਸੈਸ ਨੂੰ ਇੱਕ ਕਲੈਕਸ਼ਨ-ਜਿਹੀ ਇੰਟਰਫੇਸ ਦੇ ਪਿਛਲੇ ਪਾਸੇ ਨੂੰ ਐਬਸਟਰੈਕਟ ਕਰਦਾ ਹੈ — ਬਿਜ਼ਨਸ ਲਾਜਿਕ ਨੂੰ ਡਾਟਾ ਕਿਵੇਂ ਸਟੋਰ ਅਤੇ ਪ੍ਰਾਪਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਇਸ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ। ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਡਾਟਾ ਸਰੋਤਾਂ (ਡਾਟਾਬੇਸ, APIs) ਤੋਂ ਡੀਕਪਲ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ testability ਅਤੇ maintainability ਵਿੱਚ ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ।
Repository ਪੈਟਰਨ ਕੀ ਕਰਦਾ ਹੈ
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
