java关于builder模式的性能
为了测试更具可读性和易于编写,我通常在value对象中使用BuilderPattern
。例如,不要以标准方式编写这个简单类:
public class MyClass{
private String myProperty;
public void setMyProperty(String myProperty){
this.myProperty = myProperty;
}
}
我喜欢这样写:
public class MyClass{
private String myProperty;
public MyClass setMyProperty(String myProperty){
this.myProperty = myProperty;
return this;
}
}
这种方法会对性能产生不良影响吗
# 1 楼答案
那不是建筑商,而是建筑商
这与性能无关,而是将易变性转移到构建器上,并使您的模型不变:现在您只有构建器级别的setter
# 2 楼答案
您的代码片段不是关于使用构建器模式(GoF/Bloch),而是关于使用
fluent mutators
或chain setters
。这是一种常见的做法,对性能没有真正的影响关于生成器,您有额外的生成器对象。但在创建对象后,可以直接进行垃圾收集
所以你可能会对内存使用产生一些影响。但是JVM确实经过了优化来处理这个问题