大家好,又见面了,我是你们的朋友全栈君。
这里只是简单例子,以动物方式,如何实现重构
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
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155596.html原文链接:https://javaforall.net