Junior — Middle
Können Sie das Konzept des anämischen Modells erklären und worum es geht?
sobes.tech KI
Antwort von AI
Das anämische Modell (Anemic Domain Model) ist ein Anti-Muster im objektorientierten Design, bei dem Objekte nur Daten (Felder) enthalten, ohne Geschäftslogik, und die gesamte Logik außerhalb dieser Objekte implementiert wird, z.B. in Services oder Controllern.
Das Wesentliche des anämischen Modells ist, dass Domänenobjekte zu 'flachen' Datenstrukturen werden, was den Prinzipien des objektorientierten Designs widerspricht, bei denen Daten und Verhalten zusammengekapselt sein sollten. Dies kann zu wartungsarmem und weniger erweiterbarem Code führen.
Beispiel für ein anämisches Modell:
class User {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// Die Logik zur Altersüberprüfung ist ausgelagert
func isAdult(user: User) -> Bool {
return user.age >= 18
}
Im Gegensatz dazu wäre in einem reichen Modell (Rich Domain Model) die Methode isAdult Teil der Klasse User.