Page 197 -
P. 197
182
Split classes dependent on a significant number of other classes.
Create parent classes based on domain model performer
Define new parent classes to reduce coupling.
Split classes to increase cohesion. Split classes to reduce total number of inputs and outputs. Redistribute services to reduce input/output dependencies between Redistribute attributes to reduce input/output dependencies between Consolidate classes to reduce coupling. Collect classes into subsystems. Apply client/server style to accommodate highly used services/ Redistribute services to reduce inpu
Strategy hierarchies. classes. classes. attributes. classes. classes.
Sample Set of RARE KB Goals, Heuristics, Strategies, and Metrics
inheritance and factoring services. Increase possibilities for reuse by encouraging Create more finely granular classes so that applications will be better candidates for reuse. Reduce class coupling and increase cohesion to increase application independence. Create self-sufficient subsystems comprised of strongly coupled classes. Create classes based on suggested architecture style to increase perform
Heuristics applications.
Reusability Performance
Goal
Table 10.2 Priority 1 2