"All the tricky mechanism should be encapsulated behind abstract interfaces that speak in terms of intentions, rather than means." #readingToday
All the tricky mechanism should be encapsulated behind abstract interfaces that speak in terms of intentions, rather than means. In the public interfaces of the domain, state relationships and rules, but not how they are enforced; describe events and actions, but not how they are carried out; formulate the equation but not the numerical method to solve it. Pose the question, but don't present the means by which the answer shall be found.
Domain-Driven Design, Eric Evans