/** * */ package fr.devoxx.sentimental.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Marks this package as the root of a Bounded Context. * * Bounded Context is a central pattern in Domain-Driven Design. DDD deals with * large models by dividing them into different Bounded Contexts and being * explicit about their interrelationships. * * If you don't understand this well enough, please ask for explanation because * it's at the same time delicate to understand but also very important. * * @see <a href="http://martinfowler.com/bliki/BoundedContext.html">Bounded * Context</a> */ @Retention(RetentionPolicy.RUNTIME) @Documented @Target(ElementType.PACKAGE) public @interface BoundedContext { String name(); String domain() default ""; String qualityAttributes() default ""; String link() default ""; }