abstract_factory bug修复