You've seen awful Java code and you're sick of it. Wasn't OOP supposed to make programming easier? Why is this code so bad? Because it was done wrong, that's why. It wasn't even OOP code. It was a tangled mess of getters and setters, giant untestable methods and organised so badly, you'd think the keyboard just fell down some stairs.We're going to learn how to do it right. You will With your next project, you're going to code Java OOP like a champ. Craft code you can be proud of!
A fast, enjoyable read on object-oriented design, but a bit short on details in a few areas. The sections on SOLID and Design Patterns could have been fleshed out a bit more to aid the reader's understanding.