 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| • |
Split
up classes with too much responsibility
|
|
|
|
• |
Sometimes
a top level class ends up with far too many operations
|
|
|
because
all commands are simply added to it
|
|
|
| • |
Eliminate
classes with too few responsibilities
|
|
|
|
• |
A
class with no operations is not useful. What would you do with its
|
|
|
objects?
|
|
|
|
• |
A
class with only one or two operations may be useful, but you should
|
|
convince
yourself that there is really no better way of distributing the
|
|
|
responsibilities
|
|
|
|
• |
If
another class can meaningfully carry out the task – move the
|
|
|
operations
there and eliminate the class
|
|
|
| • |
Eliminate
unused responsibilities (operations)
|
|
|
| • |
Reorganize
unrelated responsibilities – move it to a different
|
|
|
class
or add it to a new class
|
|