O livro “Core J2EE Patterns” pode ser lido, mas é um bocadinho antigo. Se você vai pegar emprestado, está OK, mas para comprar um novo eu não recomendaria. Você tem de tomar um pouco de cuidado com ele, porque certas coisas que ele sugere já estão prontas (e você não precisa implementá-las) se tiver acesso a um servidor JavaEE 1.4 ou 5.0
O livro UML Distilled é indispensável. Leia-o.
O livro de Refactoring do Fowler é outro indispensável. Como é curtinho, dá para lê-lo no ônibus.