Of all of Uncle Bob's teachings, Clean Architecture was by far the most challenging for me to wrap my mind around. And I'll admit that I was getting very annoyed with looking at all of those UML diagrams and not being able to see any code examples of how this stuff was actually done.
But I kept at it. Starting projects and then tearing them all down again. Posting questions in this group, then tearing my projects down again (again) once I received a reply (because each reply would certainly highlight how my original understanding wasn't quite right).
Then, it finally clicked. And this was one of the best clicks in the world.
And when I say clicked, I mean it really clicked. I get it. And it's mind-blowing.
Looking back over this process for me, I've come to realize that the one of the best things that Uncle Bob did was not supply any code samples. This forced me to struggle with and understand the core concepts themselves instead of adopting a cookie-cutter look alike from a bunch of sample code.
Once you understand how all of the concepts fit together, there are an almost infinite number of implementations that still adhere to the architecture.
it's been a lot of fun experimenting with several different approaches to find the one that fits my programming fancy the most.
Having gained this knowledge and actually applying it to a released, real-world project, there's no way that I would ever voluntarily go back.
My advice to everyone that's having a hard time grasping the concept of Clean Architecture is to simply stick with it. Ask your questions in here and patiently wait for replies. Keep looking at those annoying UML diagrams and updating your test projects once you receive answers to your questions. Read the questions and answers that others have posted. This education is well worth the struggle that you go through in order to acquire it.