- Minimal complexity
- Ease of maintenance
- Loose coupling
- High fan-in: High fan-in refers to having a high number of classes that use a given class.
High fan-in implies that a system has been designed to make good use of utility
classes at the lower levels in the system.
- Low-to-medium han-out: Low-to-medium fan-out means having a given class use a low-to-medium number of
other classes. High fan-out (more than about seven) indicates that a class uses
a large number of other classes and may therefore be overly complex.
- Leanness: Leanness means designing the system so that it has no extra parts
- Stratification: Stratification means trying to keep the levels of decomposition stratified so
that you can view the system at any single level and get a consistent view.
Design the system so that you can view it at one level without dipping into
- Standard techniques