Software Patterns implementation in Java.