Good and best practices in UE... [Architecture]

The next level to this Hexagonal pattern would be to simplify it even further with generics.

“So that the services are only one.” - Breaking “directly” the SOLID principle.

Characters → GenericService <T, Request T , Result T > → GenericResponse <T, Request T , Result T > — Characters ← GenericService ← GenericResponse

Items → GenericService <T, Request T , Result T > → GenericResponse <T, Request T , Result T > — Items ← GenericService ← GenericResponse

But this would be applying an invented pattern of mine. I call it the “injective direct pattern.” I’m not very good at making up names. But hey, this would be for another publication that escapes this publication. But in summary it would be 1 single interface for everything, something like injecting anything at any time. (Sounds crazy right?)
and the next level to this generic model that I showed would be to use observers, callbacks, reflection… an endless number of things.