Examples of Java Design Patterns