2013-02-12 63 views
3

我想知道使用Javafx Gridpane Builder而不使用它的目的和/或好處是什麼?我似乎無法找到關於建造者的目的的任何信息,這是好處。Javafx Gridpane Builder好處

回答

1

更新 - 建築商被棄用後

對於一般的建築工地,JavaFX的項目負責人writes

不贊成使用,8和JavaDoc中取出,在9消失了(將作爲一個可單獨下載的Jar,這樣你可以繼續使用它們,但它們不會被更新)。我們將它們從樣本中刪除。

最好循環建設者。


JavaFX中的Builder classes提供fluent interface到功能。這樣的API通常比代碼更容易閱讀。

從本質上講流利的API是declarative,並且比無狀態的imperative code更容易編寫無錯誤的聲明性代碼。

構建器實例可以創建爲模板,同一個實例可以重複使用,如Advantages of JavaFX Builders中很好地演示的那樣。

JavaFX Builders還定義了可用於FXML文檔的屬性。有關此用法的更多信息,請參閱Introduction to FXML文檔的「構建器」部分。

其中建設者可以相比勢在必行API不夠用JavaFX 2.2的一些領域是:

  1. 建設者不利於屬性綁定。
  2. 對於所有功能,生成器API可能並不完整。
  3. 建設者可以使用難以理解的仿製藥。
  4. 建設者不允許你設置對象的靜態約束。
  5. 對於簡單的聲明,建設者比他們的同行更羅嗦。

點4的一個例子是,一個生成器不具有等同GridPane.setVgrow(priority)這樣的方法。

至於GridPaneBuilder專門VS使用GridPane類 - 它具有相同的優點和缺點其他建設者VS勢在必行API的比較,但是GridPaneBuilder是比其他一些製造商更陷於癱瘓一點,因爲它僅公開的GridPane接口的一個子集功能 - 主要是因爲GridPane非常依賴靜態方法來指定佈局約束,並且等效功能未在Builder中公開。

+0

很好的回答!這解釋了我需要知道的很多,謝謝!我實際上一直在尋找像建設者這樣的功能,但我不知道他們被稱爲什麼。 – DerekE 2013-02-12 23:36:48

+0

看起來建設者正走在恐龍的路上:http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-August/010024。html – David 2013-08-30 13:21:46

+0

謝謝大衛,我更新了答案,包括建議不要使用建設者。 – jewelsea 2013-08-30 15:32:25