Design pattern samples in Java.
Intent: Provide an interface for creating families of related or dependent objects without specifying their concrete classes.