Abstract till you drop. Going beyond 'extract till you drop'
thinkfoo.wordpress.com
thinkfoo.wordpress.com
Edit: I remembered that I wrote a blog post about this: https://drew.thecsillags.com/cult-of-abstraction/
Abstractions help to create clean, readable code. You do create lots of small classes, but they tend to be focused on one thing and are easily verified by unit tests. It helps debugging since it helps you focus on the area that is causing an error, without having to know how the full system is working.
The downside is that is does scatter the code around, and the creation of units tests requires discipline. When you're first learning the system, it can be challenging since the code is not all in one area.
Extraction provides descriptions to the state maintenance. I would agree this particular post is taking abstraction to an unreasonable level, but that is definitely a subjective analysis.