Təmiz Arxitekturada asılılıqların tərs çevrilməsi prinsipi qatlar arasında məsuliyyəti ayırmaq üçün necə tətbiq olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Təmiz Arxitekturada, Asılılıqın Tərs Çevrilməsi Prinsipi (Dependency Inversion Principle) aşağıdakı şəkildə məsuliyyəti qatlar arasında bölür:
-
Yüksək səviyyəli modullar (məsələn, biznes məntiqi) aşağı səviyyəli modullara (məsələn, məlumatlara giriş və ya UI tətbiqi) bağlı deyil, hər ikisi də abstraksiyalara (interfeyslərə) bağlıdır.
-
Abstraksiyalar daha yüksək səviyyəli qatlarda (məsələn, domen qatında) müəyyən edilir və bu interfeyslərin tətbiqləri aşağı qatlarda (məsələn, infrastrukturda) yerləşir.
-
Bu, biznes məntiqinin tətbiq detalları ilə müstəqil olmasını təmin edir, bu da testləri, dəstəyi və genişləndirməni asanlaşdırır.
Nümunə: domen qatında bir repository interfeysi müəyyən edilir:
interface UserRepository {
fun getUser(id: String): User
}
Data qatında bu interfeys tətbiq edilir:
class UserRepositoryImpl : UserRepository {
override fun getUser(id: String): User {
// verilənlər bazasına girişin tətbiqi
}
}
Biznes məntiqi yalnız UserRepository interfeysinə bağlıdır və konkret tətbiq konstruktor və ya DI konteyner vasitəsilə enjekte edilir. Bu şəkildə, qatlar abstraksiyalar vasitəsilə əlaqələndirilir, birbaşa deyil.