Dopo aver masticato un po' di UML ti consiglio di iniziare a leggere un po' sui Design Patterns.