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.