gpt4 book ai didi

java - 设计一个具有级联函数调用的API(Class.doThis ("...").doThat ("...").....)

转载 作者:行者123 更新时间:2023-12-03 07:30:03 25 4
gpt4 key购买 nike

我发现有些 API 的设计方式是您必须使用它们,如下代码

Class.doThis("...").doThat("...").....

例如 HTTPCommon (Fluent API) 可以用作:

Request.Get("http://somehost/")
.connectTimeout(1000)
.socketTimeout(1000)
.execute().returnContent().asString();

quartz 时间表可用作:

JobDetail job = newJob(HelloJob.class)
.withIdentity("job1", "group1")
.build();

SimpleCatptch 可以用作:

Captcha captcha = new Captcha.Builder(200, 50)
.addText()
.addBackground()
.addNoise()
.gimp()
.addBorder()

这种API设计叫什么名字?什么时候这样设计才好呢?

最佳答案

正如 HTTPCommon 所指出的,它被简单地称为“流畅”。构建器通常具有流畅的布局,但构建器模式是正交的:流畅的 API 是关于可读的链式方法调用,而构建器是为对象指定完整的配置,然后一次性以完整的状态构建它。

只要使代码可读,这种风格就合适;当 IDE 自动完成可以帮助程序员时,它尤其有用。两个最常见的用例是配置(构建器或 Spring 风格的配置器)和数据管道(例如 Java 8 流和响应式(Reactive)编程)。

关于java - 设计一个具有级联函数调用的API(Class.doThis ("...").doThat ("...").....),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35238292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com