用泛型实现构建器模式会很棒。理论上,可以使用反射来实现以下目标:
MyClass myClass = GenericBuilder<MyClass>.aObject()
.withThisProperty("foo")
.withThatProperty(4)
.build();
我已经编写了以下代码:
public class CursistBuilder {
private Cursist cursist = null;
private CursistBuilder() {
cursist = new Cursist("username not set", "email not set");
}
public static CursistBuilder aCursist() {
return new CursistBuilder();
}
public CursistBuilder withNaam(String name) {
cursist.setGebruikersnaam(name);
return this;
}
public CursistBuilder withEmail(String email) {
cursist.setEmail(email);
return this;
}
public Cursist build() {
return cursist;
}
}
如何实现?