학교 과제로 프로그래밍을 할 때 최대한 객체적으로 하려고 노력하고있는데요

이게 좀 어렵더라고요 어느 파일에 무엇이 들어가고 이 클래스에 이 루틴이 들어가는 것이 효율적인 것이 맞는지 등등...

이런것들을 좀 잡아 줄 수 있는 서적이 있을까요??  그냥 개념이 부족한거니 기본서를 보는 것이 나을까요?

초짜를 위해 도서추천 부탁드립니다.

아 그리고 JAVA SWING관련 책도 추천 받을 수 있을까요?? 책은 좀 두꺼워도 내용이 상세히 기술되어 있었으면 좋겠는데...

입문서로 적당한거 추천 부탁드립니다!!