java 反射和 工厂模式结合使用

来源:互联网 发布:篦子 淘宝 编辑:程序博客网 时间:2024/05/18 02:37

最近写项目的时候出现了工厂类比较庞大的后果,而且每次增加对象都要改变工厂类十分不方便,后来整改成和反射结合。

1、首先创建接口类

public interface Animal{ public void sundes();
}

2、创建动物类实现接口

public class Dog implements Animal{  @Override  public void Sounds(){     system.out.print("旺旺");  }}
public class Cat implements Animal{  @Override  public void Sounds(){     system.out.print("喵喵");  }}

3、创建工厂类

public class Factory {public static Animal getInstance(String AnimalName){Animal a = null;try {a = (Animal ) Class.forName(AnimalName).newInstance();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return a;}

4、调用工厂方法

public class FactoryImp{   pubic static void main(String[] arg){     Animal  animal =  Factory.getInstance("dog");     animal.sundes();}}

这样就不需要改动工厂类了。不过Factory.getInstance需要传入动物类的全路径,这样也是比较麻烦的,不过我们可以配合配置文件实现




 


 

原创粉丝点击