Question

Avez-vous essayer de garder le Distance de la séquence principale bas pour chaque assemblée? Qu'en est-il des ensembles qui ne contient que Business Objects définitions? Est-il possible de les tenir à l'écart de Zone de la douleur ? Les types dans ces ensembles sont généralement utilisés par d'autres assemblées et sont assez concrets. Comment gérer une telle situation?

Était-ce utile?

La solution

Je crois est basée sur le l'objectif de maintien de la { « distance de la séquence principale » faible} de Demeter. À la suite de cette règle permet de rendre votre code plus facile à comprendre et plus facile à tester l'unité. En utilisant Business Objects qui sont de simples conteneurs de données, vous exposez plus état que peuvent être des règles d'encapsulation nécessaires et la rupture.

Cependant, comme Fowler souligne dans cet article , « Alors que les chaînes de méthodes sont une odeur, le problème inverse des hommes d'âge moyen des objets pléthorique avec des méthodes de transfert est aussi une odeur. (Je me suis toujours senti que je serais plus à l'aise avec la loi de Déméter si elle était appelée Suggestion de Demeter.) "

Je pense que la valeur de ces Business Objects de base peut être utile si vous voulez seulement passer autour « ce que » l'objet contient, tels que la façon dont ils sont utilisés comme objets de transfert de données. Cependant, il est probablement important de distiguish vos véritables objets d'affaires de vos objets de transfert de données vides. Je suppose que de véritables objets d'affaires doivent également contenir des comportements avec les données qu'ils encapsulent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top