2009-06-17 47 views

回答

3

正如您所說的,虛線表示ConcreteCreator(作爲依賴或客戶端元素)和ConcreteProduct(作爲獨立或供應商元素)之間的依賴關係。

在這種特定情況下,該行指示ConcreteCreator負責創建ConcreteProduct的實例。通過將「創建」原型附加到依賴關係,可以更清楚地說明這一點。

+0

是的,這就是爲什麼我對模式圖感到困惑。一個<>刻板印象應該在那裏。該圖對於像我這樣的初學者來說是不可理解的。 – jerbersoft 2009-06-17 23:48:09

1

我認爲這意味着一個ConcreteCreator必須知道ConcreteProduct就是去創造它抓住什麼,所以有一個明確的相關性存在。工廠方法創建一個Product,但該方法的ConcreteCreator覆蓋必須返回一個ConcreteProduct。

0

這不僅僅是工廠方法 - 這看起來更像是抽象工廠模式。 Creator的具體派生類將創建派生Product類的相應實例。

+0

點擊上面的鏈接,它指向「工廠方法」模式並查看圖表。 – jerbersoft 2009-06-17 23:35:45

2

虛線/空箭頭代表一個依賴關係,意思是ConcreteCreator以某種方式「使用」ConcreteProduct。箭頭本身沒有定義該依賴性的性質,只是存在依賴關係,並且ConcreteProduct實際上並不是ConcreteCreator的成員。

提供的註釋(即「返回新的ConcreteProduct」)意味着ConcreteCreator將實例化(或創建)ConcreteProduct類型的對象,這對工廠來說很自然。通常在UML中,您可以通過在虛線箭頭上書寫「< <創建> >」來闡明這種關係。 UML將這些註釋稱爲「刻板印象」。

請參閱Allen Holub's UML Quick Reference瞭解更多信息。你可以看到他有一個非常相似的例子,其中「用戶」創建「資源」。