问题描述
在创建一个简明工厂时,我遇到了需要在代码的不同部分填充对象的问题。在函数的参数中传递构建器以使其成为可能。我的构建器是由龙目岛注释 @Builder 自动生成的:
@Entity
@Builder
public class Product{
Field a;
Field b;
}
方法看起来像这样:
processDataForFirstProduct(Data data,FirstProduct.FirstProductBuilder builder) {
processA(data);
processB(data);
builder.a().b();
}
processDataForSecondProduct(Data data,SecondProduct.SecondProductBuilder builder) {
processC(data);
processD(data);
builder.c().d();
}
如您所见,可以从抽象方法继承用于处理不同对象的数据的方法,并且需要具有一组不同的setter的构建器。因此,在特定的工厂方法实现中(如示例中),我想指出一种特定的工厂类型,而在粗略方法本身中,我想声明一个隐式通用类型。理想的方法签名:
abstract processDataForEntity(Data data,Entity.EntityBuilder builder);
是否可以实施?如果是这样,我应该使用的技术名称是什么?我曾与泛型一起工作,但不确定是否适合他们。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)