1、工厂类
//工厂类
@Service
public class AbilityFactory {
@Autowired
private Map<String , ApiAbility> apiAbilityFactoryMap = new ConcurrentHashMap<>();
public ApiAbility factoryMode(String key){
return apiAbilityFactoryMap.get(key);
}
}
2、统一接口类
public interface ApiAbility {
String save();
String delete();
String list();
String update();
}
3、接口实现类
@Component("AppleAbility")
public class AppleAbility implements ApiAbility {
@Override
public String save() {
return null;
}
@Override
public String delete() {
return null;
}
@Override
public String list() {
return null;
}
@Override
public String update() {
return null;
}
}
4、使用
public class test{
@Resource
AbilityFactory abilityFactory;
@Test
public test(){
abilityFactory.factoryMode("appleAbility").save();
}
}
这种管理模式,可以将许多具有相同类型接口功能的实现类进行统一管理,让Service工厂来管理所有的这些类,减少代码冗余。