Sobes.tech
Junior — Middle

¿Puedes explicar la concepto de modelo anémico y en qué consiste?

sobes.tech AI

Respuesta de la IA

El modelo anémico (Anemic Domain Model) es un anti-patrón en el diseño orientado a objetos, donde los objetos contienen solo datos (campos) sin lógica de negocio, y toda la lógica se implementa fuera de estos objetos, por ejemplo, en servicios o controladores.

La esencia del modelo anémico es que los objetos de dominio se convierten en estructuras de datos 'planas', lo cual contraviene los principios del diseño orientado a objetos, donde los datos y el comportamiento deben estar encapsulados juntos. Esto puede conducir a un código menos mantenible y menos extensible.

Ejemplo de modelo anémico:

class User {
    var name: String
    var age: Int

    init(name: String, age: Int) {
        self.name = name
        self.age = age
    }
}

// La lógica de verificación de edad se ha separado
func isAdult(user: User) -> Bool {
    return user.age >= 18
}

En contraste, en un modelo rico (Rich Domain Model), el método isAdult sería parte de la clase User.