programidiom_simplefactory
programidiom_simplestaticfactory