Modern Design Patterns with Java EE 8