[英]What pattern name is this?
關於以下樣本模式,有人知道它的名稱或創建者嗎? 似乎是GoF提出的Builder的一種變體。( https://en.wikipedia.org/wiki/Builder_pattern#Java )
我認為它用更少的代碼實現了GoF模式的主要目標。 我在某個框架中看到並開始大量使用它,但找不到它的發起者。 謝謝您的幫助。
public class User {
private String name;
public User name(String name) {
setName(name);
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我會這樣做,以避免成員和方法具有相同名稱的錯誤:
public class User {
private String name;
public String getName() {
return name;
}
public User setName(String name) {
this.name = name;
return this;
}
}
User user = (new User()).setName('Me').setPhone('1234');
模式的名稱似乎是“流利接口”,而“方法鏈接”稱為其鏈接方法的實現。 實際上,他們描述的是同一件事,但“流暢的界面”是該模式通常接受的名稱。
您可以鏈接更多方法(不僅用於設置屬性),包括不同的對象:
user.addBall(ball)
.inflateAllBalls()
.getFirstBall() // returns a ball
.roll() // roll is a method in the Ball class
.setColor("red");
過度使用方法鏈的缺點:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.