AbstractFactorySample