Interfaces and implementations of design patterns for Java.