A collection of design patterns written in Java