This page has moved to http://blog.ploeh.dk/2010/11/01/PatternRecognitionAbstractFactoryorServiceLocator.