Curso da Caelum de Design Patterns para bons programadores.