Sugestão de Material para OOP

Boa noite pessoal, faz algum tempo que estou procurando algum material para me auxiliar a desenvolver OOP corretamente, na criação correta das classes principalmente, aprender o lugar certo de cada coisa em cada classe e quais classes criar para o sistema, permitindo sua reusabilidade posterior, queria também meio que aprender a “fazer uma analise” correta do sistema que vai ser desenvolvido em OOP.

Vi então que aqui no fórum tem bastante gente com experência em desenvolvimento em JAVA e então resolvi “apelar” para a boa vontade de vocês :-D. Eu já tenho conhecimento do paradigma, dos conceitos básicos como herança, encapsulamento, polimorfismo que é boa parte do que livros sobre o assunto que vi ensinam, queria algo mais pratico sobre o desenvolvimento…

Então pra resumir eu precisaria de alguma indicação de livro ou algum material (pode ser em inglês) que me auxilie a aprender a estruturar um sistema OOP corretamente, aprender a criar classes corretas pra facilitar depois refatoração e reusabilidade. Sei que esse tipo de coisa vou aprendendo com o tempo, mas como estou começando já queria começar a estudar corretamente pra não dar um nó na cabeça, o mesmo tipo de nó que tive quando comecei a estudar OOP, sendo que estava acostumando com procedural em PHP.

Enfim é isso pessoal, se eu tiver colocando o post no lugar errado me desculpem, e desculpe se não consegui expor o que preciso. Conto com a ajuda de vcs! Muito obrigado e um feliz 2010!

Abraços,
Cleverson

Ola!

    Te recomendo e recomendo a todos, os livros da serie use a cabeça, sao excepcionais, até hoje nao encontrei nenhum livro com didatica tao boa, porem te aconselho a edicao em ingles, head first OOA & D fala sobre orientacao e analize orientada a objetos, estou lendo ele e é fantastico.

Abraços

André Martins