什么时候会在构建器模式上使用流畅的接口,反之亦然?
我一直在网上搜索两者之间的差异,但我仍然不明白哪种情况适合使用另一种情况。每个人有什么优点和缺点?感谢。
答案 0 :(得分:2)
构建者基本上总是使用流畅的界面。这不是你选择其中一个的情况。构建器模式是一种通常使用流畅接口的对象。流畅的界面本身不起任何作用。它只是编写某些对象的流行方式。
一个流畅的界面就是当你有一个返回自己的对象或类似的东西时。 (我说喜欢本身,因为它在技术上不一定是它本身,例如在步骤构建器的情况下。)当你有someObject.doA().doB().doC()
时,它是一个流畅的界面。 Java Stream
也是使用流畅接口的示例。 (虽然从技术上讲,与之交互的Stream
对象实际上是一种构建器。只有在调用forEach
之类的终端操作时才会执行流。之前的所有内容基本上都是构建器和终端操作类似于build()
方法。)
维基百科上也有很多例子。 https://en.wikipedia.org/wiki/Fluent_interface