Junior — Middle
Kas saaksite selgitada aneemilise mudeli kontseptsiooni ja selle olemust?
sobes.tech AI
Vastus AI-lt
Aneemiline mudel (Anemic Domain Model) on anti-muster objektorienteeritud disainis, kus objektid sisaldavad ainult andmeid (välju) ilma äriloogikata, ning kogu loogika realiseeritakse nende objektide väliselt, näiteks teenustes või kontrollijates.
Aneemilise mudeli olemus on see, et domeenobjektid muutuvad 'lame' andmestruktuurideks, mis on vastuolus objektorienteeritud disaini põhimõtetega, kus andmed ja käitumine peaksid olema koos kapseldatud. See võib viia vähem hooldatava ja vähem laiendatava koodini.
Näide aneemilisest mudelist:
class User {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// Vanuse kontrollimise loogika on eraldatud
func isAdult(user: User) -> Bool {
return user.age >= 18
}
Vastupidiselt sellele, rikkaliku mudeli (Rich Domain Model) puhul oleks meetod isAdult osa User klassist.