Java patterns

http://www.anupriyo.com/oopfm.shtml