Junior — Middle
UseCase, Temiz Mimari yapısında ne rol oynar ve neden doğrudan Repository'ye erişmek yerine kullanılması tercih edilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Temiz Mimari'de, UseCase (kullanım durumu), uygulamanın iş mantığını temsil eder ve arayüzler (UI, API) ile veri katmanları (Repository) arasında aracılık yapar.
UseCase'in Rolü:
- Belirli eylemleri ve iş kurallarını kapsüller.
- İş mantığının, veri deposu detaylarından bağımsız olmasını sağlar.
- İş mantığını, veritabanı veya ağdan bağımsız olarak kolayca test etmeye olanak tanır.
Neden doğrudan Repository'ye erişmek yerine UseCase kullanmak tercih edilir:
- Repository sadece verilere erişimden sorumludur, UseCase ise bu verilerin işlenmesinden sorumludur.
- UseCase, işlemlerin sırasını, doğrulamayı ve hata yönetimini kontrol eder.
- Bu, sorumlulukların ayrımını iyileştirir ve kodun bakımını ve genişletilmesini kolaylaştırır.
Örnek:
class GetUserProfileUseCase(private val userRepository: UserRepository) {
suspend operator fun invoke(userId: String): UserProfile {
val user = userRepository.getUserById(userId)
// Ek iş mantığı
return user.toUserProfile()
}
}
Bu şekilde, UseCase mimarinin temizliğini ve uygulamanın esnekliğini sağlar.