是否有必要在具有流畅接口的方法中返回相同的对象

Is it necessary to return the same object in methods with fluent interface

提问人:user502233 提问时间:9/19/2023 更新时间:9/19/2023 访问量:27

问:

在一些来源中,例如 Martin Fowler 的原始文章,没有写到方法会返回相同的对象,并且示例中的方法返回不同的对象,但在一些来源(较新)中,例如维基百科,编写了方法将返回相同的对象,这是正确的?

OOP DSL 方法链接 Fluent-Interface

评论


答:

1赞 Dalija Prasnikar 9/19/2023 #1

没有正确或正确的方法来编写流畅的界面。

甚至 Fowler 的文章也使用了这两种返回对象,但你不容易看到它,因为它显示的是用法,而不是实现。

通常,当您配置某个对象时,只有返回相同的对象才有意义。否则,您必须先克隆它,然后再应用其他值。

但在某些情况下,Fluent 接口最终会返回序列中的其他对象,而不管它是相同对象还是其他类型。