The Groovy programming language. Design patterns and examples