【发布时间】:2014-02-06 10:49:40
【问题描述】:
我想用Java实现方法链。
我怎样才能实现它?
还请告诉我何时使用它。
public class Dialog {
public Dialog() {
}
public void setTitle(String title) {
//Logic to set title in dialog
}
public void setMessage(String message) {
//Logic to set message
}
public void setPositiveButton() {
//Logic to send button
}
}
我想创建可以使用的方法链,如下所示:
new Dialog().setTitle("Title1").setMessage("sample message").setPositiveButton();
或喜欢
new Dialog().setTitle("Title1").setMessage("sample message");
或喜欢
new Dialog().setTitle("Title1").setPositiveButton();
【问题讨论】:
-
喜欢建造者模式?
-
这通常称为
fluency或fluent编程。 -
您将为对话框创建一个构建器,而不是为流畅的 api 使用设置器。如果你做了这么多 bean 之类的访问将不再起作用,因为框架限制 setter 返回 void。如果您不喜欢编写所有样板文件,请查看 project lombok。
-
Lombok 实验性注释,带有fluent=true:projectlombok.org/features/experimental/Accessors