大家好,又见面了,我是你们的朋友全栈君。
这里只是简单例子,以动物方式,如何实现重构
1、入口
public class TestMain { @Autowired private Animal animal; @Test public void animal(){ animal.printAnimal(); } }
View Code
2、判断那个类的执行
@Service public class Animal { @Autowired private AnimalFactory animalFactory; public void printAnimal(){ IAnimal pag = animalFactory.getAnimal("pag"); pag.isAnimal(); } }
View Code
3、创建一个工厂,返回不同的类
@Service public class AnimalFactory { @Autowired private List<IAnimal> isAnimal; public IAnimal getAnimal(String animal){ for(IAnimal iAnimal : isAnimal){ if(iAnimal.isSupport(animal)){ return iAnimal; } } throw new RuntimeException("没有该动物类型"); } }
View Code
4、所需要的接口
public interface IAnimal { public boolean isSupport(String adimalType); public void isAnimal(); }
View Code
5、执行类
public class Dog implements IAnimal { @Override public boolean isSupport(String adimalType) { return adimalType.equals("dog") ? true : false; } @Override public void isAnimal() { System.out.println("动物是狗!!!!"); } }
View Code
@Service public class Pag implements IAnimal{ @Override public boolean isSupport(String adimalType) { return adimalType.equals("pag") ? true : false; } @Override public void isAnimal() { System.out.println("动物是猪!!!!"); } }
View Code
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155596.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...