Sobes.tech
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.