Disons que vous avez un FooManager
conçu pour gérer plusieurs objets de type Foo
. Le FooManager
doit voir certaines parties de ses Foo
s pour évaluer leur état actuel. Avant d'utiliser quelques accesseurs dans Foo
pour voir ces pièces, jusqu'à ce que je me suis rendu compte que FooManager
est la seule classe qui les utilise réellement. J'ai décidé de faire un ami de Foo
. Cela a entraîné la plupart de la classe Foo
devenir privé.Utilisation appropriée d'un ami? Classe de conteneur conçue pour manipuler des objets de type spécifique
Est-ce une utilisation appropriée d'un ami? Mon raisonnement était qu'il aide à l'encapsulation, car alors qu'il donne FooManager
un accès complet aux internes de Foo
, il bloque complètement l'accès à tout le reste.
En fait, j'ai utilisé l'idiome avocat-client qu'un gars posté, mais malheureusement, sa réponse a disparu. Tant pis. – random