【发布时间】:2020-02-13 18:30:02
【问题描述】:
我不太明白如何最好地为以下泛型层次结构实现构建器模式。
基类,
@lombok.Data
public class Node<T> {
private T data;
private String source;
}
儿童班,
@lombok.Data
public class MyNode extends Node<MyNode> {
private String firstDummy;
private String secondDummy;
}
是否有将匿名构建器类应用到父类并在子类中扩展它?
更新
如果我有一个像父母这样的匿名构建器,
public class Node<T> {
private T data;
private final String source;
public static abstract class Builder<S extends Node> {
private String source;
public Builder<S> withSource(String source) {
this.source = source;
return this;
}
public abstract S build();
}
public static Builder<?> builder() {
return new Builder<Node>() {
@Override
public Node build() {
return new Node(this);
}
};
}
protected Node(Builder<?> builder) {
this.source = builder.source;
}
}
然后如何在Node 类中实现T 的构建器?
【问题讨论】:
-
this question 可能会给你一些见解。
-
太棒了。谢谢@jrook