Pattern Repository trừu tượng hóa việc truy cập dữ liệu sau một interface giống collection — tách logic nghiệp vụ khỏi cách dữ liệu được lưu trữ và truy xuất. Nó tách ứng dụng khỏi các nguồn dữ liệu (database, API), cải thiện khả năng test và bảo trì.
Pattern Repository làm gì
REPOSITORY → một lớp trừu tượng giữa logic nghiệp vụ và việc TRUY CẬP DỮ LIỆU:
→ cung cấp một interface gọn gàng (như collection: findById, save, delete, findAll)
→ GIẤU cách/nơi dữ liệu thực sự được lưu (database, API, cache, file)
→ logic nghiệp vụ dùng repository, KHÔNG dùng database trực tiếp
→ tách CÁI GÌ của thao tác dữ liệu khỏi CÁCH chúng được cài đặt
