Keep objects small:
minimum required data
minimum methods required by functionality.
Each object should be designed to have specific tasks.
A system should contain many small interacting objects rather than a few large objects.