Elegant Objects, Volume 2

Once, in 2017, I received a newsletter from DZone and found an article entitled 16 Don’ts of Career Growth. After that, I decided to google the author, Yegor, and read more about this guy. He is known as yegor256 and present on Twitter.

His blog and articles are mainly about OOP. He presents his visions to some classic problems and their solutions, and he has developed a style for coding and designing.

I liked the blog, the frank style, and read his articles more than once, even if I am not Ok with some ideas. Moreover, I watched some presentations online. He often states that OOP is not prepared perfectly; it looks more like a procedural style because it grew out of it.

And to present his vision, he wrote some books. One of them is called Elegant Objects and it is available in 2 volumes.

This blog post is about Volume 2.

Volume 2 is, in fact, a compilation of many more detailed articles and a continuity of the first volume.

It is excellent as volume 1.

The chapters are organized around the objects and pure OOP style. It covers more object-oriented patterns and anti-patterns, including MVC, ORM, annotations, printers, validators, inheritance and subtyping, dependency injection, reflection, etc.

As known, the tone is controversial and severe (You can see this in the blog, the text of his articles if you don’t know the guy in person). There are the good and the less than good (or even bad) ideas in its 218 pages.

However, there are few items in which I have a different viewpoint. But the book will open your mind, and you will rethink some things you were doing or you used to do.