Excerpted from DomainDrivenDesignBook
Definition: A class that can be understood and tested without reference to any others, except system primitives and basic libraries.
Problem: Even within a
Module, the difficulty of interpreting a design increases wildly as dependencies are added. This adds to mental overload, limiting the design complexity a developer can handle. Implicit concepts contribute to this load even more than explicit references.
Solution: Low coupling is fundamental to object design. When you can, go all the way. Eliminate all other concepts from the picture. Then the class will be completely self-contained and can be studied and understood alone. Every such self-contained class significantly eases the burden of understanding a
Module.
See also:
StandaloneClasses is mentioned on: MessagesByTopic