Clean Architecture – Support plugins that can add new entities?

Well according to Robert Martin this green stuff right here is a plugin.

enter image description here

So we’re good right? No? Want to know more?

If by “support for plugins” you actually mean you want to be able to deploy your application and allow other people to add plugins to it without bothering you then you need a little more than just Uncle Bobs folded over version of the Dependency Inversion Principle. You also need a class loader that can load classes it’s never heard of before.

That is, if you’re in a language that even has classes. A bit hard to nail this down without knowing the language. My main point is still that while Mr. Martin is teaching you the UML of a plugin he’s certainly not teaching you how to build a plugin management system into your application. It’s a little more involved than understanding that DIP can fold.