Junior — Middle
Anemik model tushunchasi va uning mohiyatini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Anemik Model (Anemic Domain Model) ob'ektga yo'naltirilgan dizaynda anti-pattern bo'lib, unda ob'ektlar faqat ma'lumotlar (maydonlar)ni o'z ichiga oladi, biznes mantiqi esa bu ob'ektlardan tashqarida, masalan, xizmatlar yoki nazoratchilar (kontrollerlar)da amalga oshiriladi.
Anemik modelning mohiyati shundaki, domen ob'ektlari 'silliq' ma'lumotlar tuzilmalariga aylantiriladi, bu esa ob'ektga yo'naltirilgan dizayn prinsiplarga zid bo'lib, unda ma'lumotlar va xulq-atvor birga inkapsulyatsiya qilinishi kerak. Bu kamroq qo'llab-quvvatlanadigan va kengaytiriladigan kodga olib kelishi mumkin.
Anemik model misoli:
class User {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// Yoshi tekshirish mantiqi alohida ajratilgan
func isAdult(user: User) -> Bool {
return user.age >= 18
}
Bundan farqli o'laroq, boy modelda (Rich Domain Model), isAdult metodi User sinfining bir qismi bo'lardi.