Using design patterns with Java is a well-established topic. Design patterns also apply to Groovy: some patterns carry over directly (and can make use of normal Groovy syntax improvements for greater readability) some patterns are no longer required because they are built right into the language or because Groovy supports a better way of achieving the intent of the pattern some patterns that have