2012-10-08 24 views
0

我試圖在圖形對象來自JUNG圖形軟件包來初始化每個以下的(出廠來自org.apache.commons.collections15):榮格包裝圖形和工廠模式

 Factory<Graph<Integer, String>> graphFactory; 
     Factory<Integer> vertexFactory; 
     Factory<String> edgeFactory; 

我需要這三個對象在BarabasiAlbertGenerator(點擊查看JavaDoc)對象的構造函數中。

在我閱讀工廠模式時,我發現它用於將對象的實例化傳遞給子類。所以,我知道的是:

  1. Jung包中必須有一些類實現Factory接口,然後可以實例化我聲明'graphFactory'的對象。同樣,對於vertexFactory和edgeFactory

問題是(我正在假設是否正確)以及如何實例化這些對象以及哪些可能的類型集可以用於實例化每個對象?

回答

1

對於graphFactory,您可以在所需圖形類上使用getFactory()靜態方法。

您將需要編寫vertexFactory和edgeFactory的實例。
你可以使用任何類型的頂點/邊緣,這就是爲什麼它們是通用的(這就是爲什麼你必須指定它們是如何創建的)。 :)
查看示例代碼示例。

+0

謝謝!你能否提供關於vertexFactory和edgeFactory的更多細節?我不太清楚你的意思是「寫入vertexFactory和edgeFactory的實例」 – CodeKingPlusPlus

+0

另外,這些用於實例化工廠的代碼示例在哪裏? – CodeKingPlusPlus

+0

嘗試搜索「vertexfactory」的代碼。它們出現在樣本中的任何地方,算法生成圖(而不是從存儲中檢索或用顯式用戶提供的add *()調用構建)。 –