Collection of Java Design Patterns sample codes