Design patterns implemented in Java.