Junior — Middle
Pouvez-vous expliquer le concept de modèle anémique et en quoi il consiste?
sobes.tech IA
Réponse de l'IA
Le modèle anémique (Anemic Domain Model) est un anti-modèle en conception orientée objet, où les objets ne contiennent que des données (champs) sans logique métier, et toute la logique est implémentée en dehors de ces objets, par exemple dans des services ou des contrôleurs.
L'essence du modèle anémique est que les objets de domaine deviennent des structures de données 'plates', ce qui va à l'encontre des principes de la conception orientée objet, où les données et le comportement doivent être encapsulés ensemble. Cela peut conduire à un code moins maintenable et moins extensible.
Exemple de modèle anémique :
class User {
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
}
// La logique de vérification de l'âge est séparée
func isAdult(user: User) -> Bool {
return user.age >= 18
}
En revanche, dans un modèle riche (Rich Domain Model), la méthode isAdult ferait partie de la classe User.