Domain-driven design patterns: A metadata-based approach
The Java Programming Language