fluent API';它不同于其他API';s

fluent API';它不同于其他API';s,api,dsl,fluent-interface,method-chaining,Api,Dsl,Fluent Interface,Method Chaining,我在学习DSL时遇到过fluent API。 我在fluent API上搜索了很多…我可以得出的基本结论是,fluent a API使用方法链接使代码流畅。 但我不能理解——在面向对象语言中,我们总是可以创建一个对象,并可以调用与之相关的方法。那么,fluentapi有什么不同呢?fluent API还添加了哪些其他功能?使用fluent接口,您可以编写一些方法,这些方法返回调用该方法的对象(通常是self或this),并将传统返回值作为该对象中的状态更改来处理。如果你看一些使用流畅接口的Jav

我在学习DSL时遇到过fluent API。
我在fluent API上搜索了很多…我可以得出的基本结论是,fluent a API使用方法链接使代码流畅。

但我不能理解——在面向对象语言中,我们总是可以创建一个对象,并可以调用与之相关的方法。那么,fluentapi有什么不同呢?fluent API还添加了哪些其他功能?

使用fluent接口,您可以编写一些方法,这些方法返回调用该方法的对象(通常是self或this),并将传统返回值作为该对象中的状态更改来处理。如果你看一些使用流畅接口的Javascript库,处理列表和空值就容易多了,因为它们可以像处理单个对象一样处理。fluent接口的缺点是,它们倾向于创建具有一大堆职责的整体god对象


我不希望它们在任何地方都被使用(因为上帝客体的问题),但它们有时很好。

你的问题在原文中得到了回答。要点是,流利的fluentapi来自特定领域语言的领域,而不仅仅是方法链接