Java 之 反射实现工厂模式(简单工厂模式)
程序员文章站
2024-01-23 17:08:40
...
之前写过的传统工厂模式在实际中是根本用不到的,它的最大的缺陷在于:每增加一个子类就需要修改工厂类。
而利用反射,每当新增接口子类,无需去修改工厂类代码就可以很方便的进行接口子类扩容。
eg:简单工厂模式
package fansheLX;
import static java.lang.Class.forName;
interface IFruit{
public void eat();
}
class Apple implements IFruit{
@Override
public void eat() {
System.out.println("吃苹果!");
}
}
class Orange implements IFruit{
@Override
public void eat() {
System.out.println("吃橘子!");
}
}
class FruitFactory{
private FruitFactory(){}
public static IFruit getInstance(String className){
IFruit fruit = null;
try {
fruit = (IFruit) Class.forName(className).newInstance();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
}
return fruit;
}
}
public class TestReflectFactory {
public static void main(String[] args) {
IFruit fruit = FruitFactory
.getInstance("fansheLX.Apple");
fruit.eat();
}
}
上一篇: 随机打乱数组、字符串PHP函数使用测试
下一篇: linux运行时间