修改abstract_factory接口