|
Abstractness measures the proportion of abstract types in
a package relative to the total number of types in that package.
A highly abstract package where the metric value is close 1
is likely to be useless, especially if it also has high
instability:
The class hierarchy has been over-engineered, and all those
abstract types are not heavily used.
One should try to design packages that are abstract in
proportion to their incoming dependencies, and concrete in
proportion to their outgoing dependencies. That way, making
changes is likely to be easy.
|