Grady Booch dans "Analyse Orientée Objet et Design":
"L'idée de la cohésion provient également de la conception structurée. Simplement dit, la cohésion
mesure le degré de connectivité entre les éléments d'un module unique (et
pour la conception orientée objet, une seule classe ou d'un objet). La moins souhaitable forme de
la cohésion est une coïncidence de cohésion, totalement sans rapport avec les abstractions sont
jetés dans la même classe ou d'un module. Par exemple, considérons une classe comprenant
les abstractions des chiens et des vaisseaux spatiaux, dont les comportements sont tout à fait indépendants. L'
plus souhaitable forme de cohésion est la cohésion fonctionnelle, dans laquelle les éléments de
une classe ou d'un module de travailler tous ensemble pour fournir certains bien délimité comportement.
Ainsi, la classe Chien est fonctionnellement cohérent si sa sémantique embrasser le comportement
d'un chien, l'ensemble de chien, et rien que le chien".
Suppléant Chien avec le Client dans le ci-dessus et il pourrait être un peu plus clair. Donc, le but est vraiment juste pour objectif de cohésion fonctionnelle et à s'éloigner de la coïncidence de la cohésion autant que possible. En fonction de votre abstractions, cela peut être simple ou peut nécessiter quelques refactorisation.
Note de cohésion s'applique tout autant à un "module" qu'à une seule classe, c'est à dire un groupe de travail en classe ensemble. Donc, dans ce cas, le Client et l'Ordre classes ont encore décent de cohésion à cause de cette forte relationshhip, aux clients de créer des ordres, des ordres appartiennent à des clients.
Martin Fowler dit qu'il serait plus à l'aise à l'appeler le "Suggestion de Déméter" (voir l'article se moque de ne stubs):
"Mockist testeurs ne parlons plus de prévenir le "déraillement" de la méthode des chaînes de style de get: ().getThat().getTheOther(). En évitant la méthode des chaînes est également connu comme la suite de la Loi de Déméter. Alors que la méthode des chaînes d'une odeur, le problème inverse de la moyenne des hommes objets de ballonnement de l'envoi des méthodes est aussi une odeur. (J'ai toujours senti que je serais plus à l'aise avec la Loi de Déméter s'il était appelé à la Suggestion de Déméter .)"
Qui résume bien où je veux en venir: il est parfaitement acceptable et souvent nécessaire d'avoir un plus faible niveau de cohésion que le strict respect de la "loi". Éviter la coïncidence de la cohésion et de l'objectif de cohésion fonctionnelle, mais ne vous attardez sur les aspects en cas de besoin pour s'adapter au plus naturellement avec votre conception de l'abstraction.