Good Object Oriented Design
Good design and programming is not learned by generalities, but by seeing how significant programs can be made clean, easy to read, easy to maintain and modify, human-engineered, efficient, and reliable, by the application of good and programming practices. Careful study and imitation of good designs and programs significantly improves development skills.
Kernighan & Plauger
W.Kandinsky - Composition VIII (1923)