方法链和流畅接口之间的区别

sil*_*uez 3 design-patterns fluent-interface fluent method-chaining

我想知道方法链接和流畅接口之间的确切区别。据我了解,方法链只是运行先前方法返回对象的方法,同时避免临时变量。这方面的一个例子可能是

Integer.parseInt(str).intValue()
Run Code Online (Sandbox Code Playgroud)

相对于流式接口,对象的每个方法都由一个点链接起来,而不必与前一个方法相关这两种技术使修饰符方法返回到宿主对象,以便可以在单个表达式中调用多个修饰符,如下所示:

new Car().StartsEngine().OpenWindow()
Run Code Online (Sandbox Code Playgroud)

它是否正确?

mil*_*ose 5

我不认为有什么重大区别;或者更确切地说,这两个概念处于不同的层面。方法链接很简单,您可以直接在不同方法的返回值上调用一个方法。

流畅的界面是一种设计 API 的风格,用于执行多步骤、复杂的操作,使其读起来接近散文。流畅的接口意味着通过方法链接来使用。它可以为每次调用使用相同的可变对象,也可以每次返回一个新的不可变对象,具体取决于接口作者认为的好主意。