“
Reuse is about creating a deliberate coupling between two parts of the code base, and these two goals are largely incompatible to one another. If the goal is really to create loosely- coupled services, we have to be willing to “let go” the reuse goal, particularly across service definitions.