Java examples of different design patterns.