What immediately comes to mind was a case where modules used several Roles, each with a single method, in a way that would have been easily achieved with having the methods directly in the modules. The roles were not used by any other classes and did not implement any kind of API for the modules. It wasn't a case of just a single module that did this, but instead, this was a normal design practice.
To me, that was needless complexity.
You must always remember that the primary goal is to drain the swamp even when you are hip-deep in alligators.
| [reply] |