Junior — Middle
Pode explicar o conceito de modelo anêmico e em que consiste?
sobes.tech IA
Resposta da IA
O Modelo Anémico (Anemic Domain Model) é um anti-padrão no design orientado a objetos, onde os objetos contêm apenas dados (campos) sem lógica de negócio, e toda a lógica é implementada fora desses objetos, por exemplo, em serviços ou controladores.
A essência do modelo anémico é que os objetos de domínio se tornam estruturas de dados 'planas', o que contraria os princípios do design orientado a objetos, onde os dados e o comportamento devem estar encapsulados juntos. Isso pode levar a um código menos sustentável e menos extensível.
Exemplo de modelo anémico:
class User {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// A lógica de verificação da idade foi separada
func isAdult(user: User) -> Bool {
return user.age >= 18
}
Em contraste, num modelo rico (Rich Domain Model), o método isAdult faria parte da classe User.