java SimpleFramework和工厂方法
我一直在研究简单XML,因为我的项目需要相对基本,所以我得到了一般的想法,但是当涉及到没有公共构造函数的类时,遇到了一个绊脚石,这些类依赖于类内工厂方法或工厂对象,使它们成为泛型,例如:
public class Foo
{
private static HashMap<String,Foo> fooTypes = new HashMap<String,Foo>();
private String name;
private int val;
private Foo(String name, int val)
{
// do things
}
public static Foo getFoo(String name)
{
// Store deep copy of fooTypes.get(name) into foo
return fooResult;
}
public static void addFoo(String name)
{
fooTypes.put(name, new Foo(name,0));
]
}
有没有什么方法可以用简单的XML对其进行注释,让它知道在向对象读取XML时调用getFoo,还是我运气不好?我想我可以转换所有的代码来避免工厂模式,但这并不是正确的答案
# 1 楼答案
看看@Resolve和@Replace,它们可以调用类上的方法来生成实例