By type
/Controllers
/Events
/Models
By topic
/Comments
/Posts
/Users
By topic, then type
/Comments
/Controllers
/Events
/Models
/Posts
/Controllers
/Events
/Models
/Users
/Controllers
/Events
/Models
Mixed
/Comments
/Controllers
/Events
/Models
/Posts
/Users
@frankdejonge Awesome, thanks for sharing. Your goal to keep framework dependencies separated from your domain code is interesting. On one hand this sounds really smart, while on the other hand I wonder how well this works out, practically. I wonder if this causes you to not use a bunch of helpful, built-in framework tooling, simply because you're trying to be framework agnostic. Consider if you want to use a Collection class, which the framework supplies. Do you use a framework agnostic collection library instead? Seems odd?
As for dropping the suffixes, I go back and forth. I don't suffix language types (interfaces, booleans, etc.), but I will use class types (events, controller, validator, etc). Otherwise I find it too difficult to find things, since often different classes can share the same name, even though they are different types.