A collection of example Java design patterns