流畅的界面与构建器模式:优点和缺点

时间:2017-06-15 04:56:43

标签: java

什么时候会在构建器模式上使用流畅的接口,反之亦然?

我一直在网上搜索两者之间的差异,但我仍然不明白哪种情况适合使用另一种情况。每个人有什么优点和缺点?感谢。

1 个答案:

答案 0 :(得分:2)

构建者基本上总是使用流畅的界面。这不是你选择其中一个的情况。构建器模式是一种通常使用流畅接口的对象。流畅的界面本身不起任何作用。它只是编写某些对象的流行方式。

一个流畅的界面就是当你有一个返回自己的对象或类似的东西时。 (我说喜欢本身,因为它在技术上不一定是它本身,例如在步骤构建器的情况下。)当你有someObject.doA().doB().doC()时,它是一个流畅的界面。 Java Stream也是使用流畅接口的示例。 (虽然从技术上讲,与之交互的Stream对象实际上是一种构建器。只有在调用forEach之类的终端操作时才会执行流。之前的所有内容基本上都是构建器和终端操作类似于build()方法。)

维基百科上也有很多例子。 https://en.wikipedia.org/wiki/Fluent_interface