为什么Builder设计模式中的setter方法返回"this"



我想知道为什么setter方法中有return this;。这意味着什么?

new Person().setName("alex");

这被称为流畅的接口。

Builder模式并不一定要求它必须流畅,但它通常就是这样实现的。它允许Builder的用户将多个调用串在一起(即"流利"(:

Persoon al = Person.builder()
.setFirstName("Albert")
.setLastName("Einstein")
.setOccupation("Genius")
.setGender(Gender.Male)
.build();

正如已经回答的那样,这不是必要的,但这是惯例。通过使用它,您可以利用方法链接(注意,方法链接为每个中间步骤消除了一个额外的变量(。您可以看到:为什么强烈鼓励使用构建器模式,而不是在Java中直接实现流畅的API?使用流畅的界面与构建器模式

相关内容

最新更新