views:

117

answers:

1

Here are the points that seem vague to me :
"High-Fan in" : have a high number of classes that use a given class; good use of utility classes at the lower levels.
"Low fan-out" : don't use too much other classes in a given class.
Does that mean you can't even have a given class use several small utility class ?

+3  A: 

First of all, it's not a matter of can or can't - it's a guideline not a rule. What it means is that if you have a class that uses a lot of other classes it might mean it's trying to do too much, and some of it could be extracted into a separate class.

In the end the domain of the problem will dictate if the design is good or not, and might call for medium-to-high fan-out in some cases.

Eran Galperin