Repository pattern
- React Native kursu
- Uzman
- Ders 16/47
- 5 dk
Repository pattern öğrenirsin.
Repository pattern
Repository pattern, veri erişimini tek bir yerden yönetir. Domain logic'i doğrudan fetch ya da veritabanı çağrısı yapmaz; bir Repository aracılığıyla veri ister.
Bu sayede veri kaynağı değişse (REST'ten GraphQL'e) yalnızca repository güncellenir; domain etkilenmez. Testlerde repository mock'lanır; gerçek API çağrısı yapılmaz.
Mock'lanabilirlik
Repository pattern'in en büyük kazanımı test kolaylığıdır. Gerçek API çağrısı yerine sahte (mock) bir repository verilir; test hızlı ve kararlı çalışır.
Mock repository aynı interface'i uygular; getUser çağrılınca sabit bir nesne döner. Bu sayede test ağ bağlantısı veya sunucu durumuna bağlı kalmaz.
Uygulama ApiUserRepository yaz
Bir ApiUserRepository sınıfı ya da nesnesi yaz. UserRepository interface'ini uygulamalı; getUser(id) metodu fetch çağrısı yapsın. export ile dışa aktar.
Başlangıç kodu
// ApiUserRepository'yi buraya tanımla
export default ApiUserRepository;Örnek çözüm
// ApiUserRepository'yi buraya tanımla
const ApiUserRepository = {
getUser: (id) => fetch(`/api/users/${id}`).then(r => r.json())
};
export default ApiUserRepository;Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Repository pattern neyi soyutlar?
- Veri kaynağını
- UI bileşenlerini
- Stil hesabını
- Navigation akışını Doğru cevap
Açıklama: Repository veri kaynağını soyutlar.
2 Mock repository dönüşü
const mockRepo = {
getUser: async (id) => { return ____ }
};
const mockRepo = {
getUser: async (id) => { return { id, name: 'Ali' } }
};
Açıklama: Mock sabit bir nesne döner.
3 Repository parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
Repository |
Veri erişim soyutlaması |
Interface |
Sözleşme |
Mock |
Sahte veri |
Domain |
İş mantığı |