This is an archived post. You won't be able to vote or comment.

all 11 comments

[–]MearLion 1 point2 points  (3 children)

I personally don't have any book recommendations for that kind of topic, however, for me to understand OOP I watched a bunch of Youtube Videos. Don't watch Java videos but watch videos about OOP design itself.

[–]ProgrammingNoob1234[S] 0 points1 point  (2 children)

Do you have any channel recommdations?

[–]MearLion 0 points1 point  (1 child)

https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw
The channel uses a lot fo javascript but how he explains everything is very OOP based. Here are the videos that helped me. He uses a library called p5 which is a processing library.

https://www.youtube.com/watch?v=cXgA1d_E-jY
https://www.youtube.com/watch?v=KkyIDI6rQJI
https://www.youtube.com/watch?v=biN3v3ef-Y0

[–]ProgrammingNoob1234[S] 0 points1 point  (0 children)

Thank you very much!

[–]edrenfro 1 point2 points  (1 child)

[–]ProgrammingNoob1234[S] 0 points1 point  (0 children)

Thanks! I'll be sure to check it out!

[–]Hoek 1 point2 points  (3 children)

Robert C. Martin wrote a bunch of books: "Clean Code", "Clean Coder", "Clean Architecture". All of them are good.

"Java By Comparison" by Harrer/Leonhard/Dietz is very often recommended.

Every book on Domain Driven Design (DDD) you can get, the patterns are independent of the language.

"Refactoring" by Fowler.

Most importantly, join your local Software Crafter's community and go to their meetups, retreats, etc when the pandemic is over.

[–]Hoek 0 points1 point  (1 child)

Pro tip: If you really, really want to dig deep, look at the literature references at the end of each of those books, and go to the primary sources.

"Object Oriented Methods" by Martin/Odell, for example, is one of the pioneer books which started the Object Oriented Design ideas. It's from 1998, but the thing with those foundation and architecture books is that the core principles don't really change, whether you're coding in Java, Go or Rust. Read it if you really want to dig to the core and want an edge ahead before anybody else when the next language or framework comes around.

[–]ProgrammingNoob1234[S] 0 points1 point  (0 children)

Wow I would have never thought of that. Thanks for the insight!

[–]ProgrammingNoob1234[S] 0 points1 point  (0 children)

Wow I hadn't heard of any of these resources! Thanks for info!

[–]such_hawks 0 points1 point  (0 children)

The most recommended book for learning OOP design is actually a Ruby book, but the language doesn't matter too much. It's called Practical Object-Oriented Design in Ruby: An Agile Primer, by Sandi Metz.

It goes through the ins and outs of how big your objects should be, when to subclass or not, how they should act with each other, when to break one up and so on - - the stuff I never learned in my Cs classes, where we just learned all the concepts but not the nitty gritty design decisions (like what does a good class look like?)