Further reading
- Learning Object-Oriented Programming, by Gaston C. Hillar
This is a great introductory book to OOP, starting with a basic real-world understanding of objects and methods. If you are unfamiliar with OOP or want an in-depth refresher, this is a good place to start.
https://www.packtpub.com/product/learning-object-oriented-programming/9781785289637
- Mastering Functional Programming, by Anatolii Kmetiuk
This book uses both a traditional functional language, Scala, as well as an OOP language staple, Java, to teach the foundations of functional programming. It then goes beyond the basics to get you comfortable using functional programming concepts and styles in your day-to-day programming.
https://www.packtpub.com/product/mastering-functional-programming/9781788620796
- Hands-On Design Patterns with Java, by Dr. Edward Lavieri
This book gives you a real hands-on approach to learning a large number of design patterns...