Uncle Bob devotees that I have worked with, have also written some of the most confusing, inscrutable code I have ever seen.
Dependency Inversion I think is a poor idea though. It is fine if you must have many different versions. But I often thing one solid concrete implementation is better. where this really goes wrong is when people are so into Dependency Inversion that there is an IClass for every Class, doubling the amount of files, and <5% of these actually have more than one implementation.
IMO I think going by the original idea of Object Orientation from Alan Kay is the real winner: Its all about message passing.