Design Patterns! As you said your problem is &quot;how to decompose into classes&#x2F;methods&#x2F;libraries&quot;<p>Book wise, I learnt them from &quot;Head first design patterns&quot; which is useful and fun or for a quicker overview - <a href="http:&#x2F;&#x2F;www.java2s.com&#x2F;Tutorials&#x2F;Java&#x2F;Java_Design_Patterns&#x2F;index.htm" rel="nofollow">http:&#x2F;&#x2F;www.java2s.com&#x2F;Tutorials&#x2F;Java&#x2F;Java_Design_Patterns&#x2F;in...</a> .<p>Also remember if you have other people around you delegate &#x2F; meet them &#x2F; bounce ideas together.