Quelqu'un pourrait-il s'il vous plaît m'expliquer cela avec un exemple? Je suis contredit moi-même p>
Les deux semblent être contradictoires. Quelqu'un peut-il l'expliquer avec un exemple? possible dans le cadre .NET. p>
5 Réponses :
Un ventilateur élevé est une bonne règle pour les classes de faible niveau. Ils devraient être très réutilisables par des classes de niveau supérieur. High Fan Out est une bonne règle pour les classes de haut niveau. Ils ne doivent pas "réinventer la roue", mais utiliser le code déjà existant - trouvé dans des classes de niveau bas. P>
Les règles ne sont donc pas contradicées car elles se rapportent à différentes classes. P>
Où avez-vous lu le principe de Fan High Fan Out? Afaik, c'est mauvais avec un ventilateur élevé. P>
http: //it.toolbox. Com / Blogs / Enterprise-Solutions / Conception-Principes-Fanin-vs-fanout-16088 P>
Un ventilateur élevé dans une conception orientée objet est indiqué lorsqu'un objet doit traiter directement avec un grand nombre d'autres objets. Cela indique un degré élevé d'interdépendance de classe. En général, plus le fan-sortant d'un objet, le plus pauvre est la conception du système global. P> blockQuote>
Également mentionné dans Code complet , ventilateur élevé Dans le faible ventilateur sortit sont de bonnes conceptions de classe. P>
d'accord avec @jeanno. High fan-Out est indésirable. P>
"Le fanout d'un module est le nombre d'appels de ce module. Au moins trois études ont conclu que le fureur carré est un composant d'une métrique de conception qui corrélait bien à la probabilité de défaut." em> Grady, RB, "Application avec succès des métriques de logiciels" dans Ordinateur, Vol.27, N ° 9, PP.18-25, septembre 1994 DOI: 10.1109 / 2.312034 P>
Vraiment le cas vraiment problématique est lorsque vous avez à la fois un fan de ventilateur élevé et élevé: p>
"Naturellement, ce module dépendra de chaque module du système" transitivement, oui, mais cela ne dit pas grand chose. Nous parlons ici de dépendances directes.
Dans le code de livre terminé, par Steve McConnell, vous voulez un fan de ventilateur élevé et bas à moyen: p>
Un ventilateur élevé fait référence à un nombre élevé de classes qui utilisent une donnée classer. Un ventilateur élevé implique qu'un système a été conçu pour faire une bonne utilisation des classes utilitaires aux niveaux inférieurs dans le système P> blockQuote>
Donc, haut fan-in c'est bien parce que la classe est utilisée beaucoup. Plus les classes peuvent utiliser une classe, la meilleure classe est. P>
Un moyen de fan de faible moyenne signifie avoir une classe donnée utilise un nombre de classes à faible taille moyenne. Un ventilateur élevé (plus d'environ sept) indique qu'une classe utilise un grand nombre d'autres classes et peut donc être trop complexe. P> blockQuote>
fan-out, d'autre part, est combien de choses que la classe appelle. Je ne pense pas que High Fan-Out n'est jamais vraiment souhaitable. Oui, vous souhaitez que vos classes de haut niveau utilisent des classes utilitaires de niveau inférieur qui sont elles-mêmes fan-in, mais si vous appelez beaucoup d'entre eux d'une classe, vous pourriez probablement casser la classe d'appel en parties plus petites et moins complexes. De cette façon, chaque partie devient un ventilateur de faible température en appelant uniquement les quelques classes utilitaires dont elles ont besoin. P>
Ces termes proviennent de l'électronique: le fan-in est le nombre d'entrées i> qu'une puce a, un fan-out est un nombre de périphériques (en parallèle, simultanément) qu'il peut conduire i> ou sortie à. Par exemple, une légèreté peut avoir une entrée (la source d'alimentation) et peut conduire de nombreuses ampoules (faible ventilateur, ventilateur élevé). Pour moi, une classe appelle une autre classe pour obtenir entrées i> de celle-ci (j'appellerais ce fan- dans i>, mais peut-être que je manque quelque chose ...) et s'appelle < I> par i> Autres classes quand ils ont besoin d'une entrée. Mais une classe peut appeler une autre classe pour que quelque chose se passe aussi. En d'autres termes, l'analogie est tendue et trompeuse.