Today I have a special post for my fellow brazilians and those that can read in portuguese because the books I’m going to mention are brought to us by Casa do código a brazilian publisher.

As I said in this previous post, there is more for any professional to know beyond execution, yet we can’t forget about it.

So in order to advance as a programmer lets first roll back a moment to these questions:

  1. Do you understand and apply correctly object oriented programming?
  2. Do you understand and apply correctly design patterns?
  3. Do you understand and follow SOLID principles?

If you said yes to all of these you may just skip this post, sorry for that…

Now to the one of you guys that want to learn or remember/reinforce the knowledge I have a trio of books for that. Most of the times my recommendations will be about books in foreign language (a.k.a not portuguese) as it is “normal” that most of the good productions are released in english.

But from time to time we find excellent books produced in my native language and its fair we share their names with everyone else.

The first book is Desbravando Java e Orientação a Objetos: Um guia para o iniciante da linguagem by Rodrigo Turini and as the name implies it unveils Java while using it to explain OOP.

Personally I rather use C# or other language to teach OOP but Java also does it well enough and Turini made a great work on building from the ground up.

Oh and this is a book for the absolutely beginner in the OOP world, but another good point in this book is that its well divided so you can skip chapters and still learn what you needed without getting lost in past references.

The second book is Design Patterns com Java: Projeto orientado a objetos guiado por padrões by Eduardo Guerra.

Yeah maybe those guys are kind of addicted to Java, who knows

It seems to me that clarity and content quality are good standards in the publisher’s books, so this is also an excellent production that aim to guide an OOP programmer into the realm of Design Patterns.

The good news is that Guerra does a pretty good job on this with well made examples and easy to understand language, at least as far as I read.

This one maybe will return with a deserved solo review

The third one is Orientação a Objetos e SOLID para Ninjas: Projetando classes flexíveis by Mauricio Aniche. And this is in the same level of the previous one, so please get OOP right before advancing into them, it’s for you own sanity.

This book proves that even a so important subject as SOLID can be presented in more accessible ways where there is no need to someone drawn to you ten times to you get it because is already “drawn” for you.

So if SOLID puzzles you everytime you heard of it do yourself a favor and go check this book.

My only two questions on these books:

  1. Some important releated concepts that are not responsibility of the book are just information boxes. Having Appendix sections could improve them by a few miles.
  2. Why Java? (Yet why not?)

In the end they are good books from beginner (1) to masters (2, 3) at a fair ebook price with pdf, epub and mobi versions.