Eh, it's a bit boilerplaty, but much of that stuff is typically done through an IDE.
Don't know about harder to understand, the entire point is to remove confusing implementation details from callers.
Don't know about harder to understand, the entire point is to remove confusing implementation details from callers.
In my experience enterprisy abstractions are a lot of motion without any progress. They impede change and stymie understanding.
The cynical part of me thinks that is the whole point.