跳轉到內容

WebObjects/EOF/使用 EOF/EOF 最佳實踐

來自華夏公益教科書,開放書籍,開放世界

首先,不要造成傷害 - 在閱讀本文之前,請閱讀並遵守EOF 誡命

建立 EOEnterpriseObjects

[編輯 | 編輯原始碼]

不要使用

 MyEO eo = new MyEO();
 ec.insertObject(eo); 

首選這種形式

 MyEO eo = (MyEO) EOUtilities.createAndInsertInstance(ec, "MyEO"); 

這有兩個主要優點。一是,它防止使用未插入 EOEditingContext 的 EO(參見EOF 誡命)。二是,它支援 EOModel(s) 中兩個或多個實體由同一個 Java 類實現的情況。

這裡需要問一個合理的問題,如果這很好

 MyNewPage nextPage = (MyNewPage)pageWithName(MyNewPage.class.getName()); 

那麼為什麼不這樣呢?

 MyEO eo = (MyEO) EOUtilities.createAndInsertInstance(ec, MyEO.class.getName()); 

這裡的關鍵是,createAndInsertInstance? 的第二個引數是來自模型的 EOEntity 名稱,而不是類名。對於元件建立,它是類名。問題是實體名稱和類名通常不相同。類名將包含包名,但實體名稱不會。此外,我遇到過模型中的多個實體由同一個類實現的情況。Gary Teter 在 WireHose 框架中很好地利用了這一點。

華夏公益教科書