Junior — Middle
Anemik model anlayışını və onun mahiyyətini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Anemik Model (Anemic Domain Model) obyekt yönümlü dizaynda anti-pattrendir və obyektlər yalnız məlumatlar (sahələr) ehtiva edir, biznes məntiqi isə bu obyektlərdən kənarda, məsələn, xidmətlər və ya nəzarətçilərdə həyata keçirilir.
Anemik modelin mahiyyəti odur ki, domen obyektləri 'səpələnmiş' məlumat strukturlarına çevrilir, bu isə obyekt yönümlü dizayn prinsiplərinə ziddir; burada məlumatlar və davranış birlikdə kapsüllənməlidir. Bu, daha az dəstəklənən və daha az genişlənə bilən koda səbəb ola bilər.
Anemik model nümunəsi:
class User {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// Yaş yoxlama məntiqi ayrılmışdır
func isAdult(user: User) -> Bool {
return user.age >= 18
}
Əksinə, zəngin modeldə (Rich Domain Model), isAdult metodu User sinfinin bir hissəsi olardı.