Para não deixar de citar o clássico:
Padrões de Projeto - Soluções Reutilizáveis de Software Orientado à Objetos, de Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, editora Bookman.
Um dos poucos livros da área que achei bem traduzido, com a vantagem de ainda manter os nomes dos patterns em inglês.
Outro legal é:
Padrões de Projeto em Java do Steven Metsker. A vantagem é que é bem mais didático do que o do grupo dos quatro, embora não tenha algumas das considerações interessantes do livro anterior.
Já vi nas livrarias o Use a cabeça padrões de projeto, mas nunca li o livro ou tive ele em mãos, então não posso opinar sobre sua qualidade.
Por fim, há também livros de padrões para arquiteturas específicas (J2EE), mas comece pelos básicos. Ainda sim, mesmo que você não lide com a tecnologia, recomendo a leitura, pois muitos padrões não são tão específicos assim.
E, embora não seja padrões, já que quer melhorar a qualidade do seu código, veja também Refatoração: aperfeiçoando o projeto de código existente, do Martin Fowler, com uma tradução também muito interessante. Não fala exatamente de padrões, mas dá boas dicas de organização de código e de um bom estilo de programar. Organizar o código da forma proposta acaba muitas vezes te auxiliando a enxergar locais onde padrões possam ser aplicados no seu software.