2010-12-17 76 views
0

要求:要求是(執行())一組數據源。拉是有序,可以分組成小的子組。這是一個足夠好的抽象,還是我可以做得更好?

設計:每個拉是抽象爲一個步驟。子組被表示爲WaterFallStep,因爲組中的每個數據源的拉動是有條件的並且遵循瀑布模型,即,如果組中的第一個數據源拉入成功,則I'脫離該組。

問題

  1. 這是一個足夠好的抽象或者我可以做的更好?
  2. 如何在JPA 2中表示這個?我知道我們可以使用descriminators來映射繼承,但我主要關心的是WaterFallStep與Basic之間的一對多關係步驟

謝謝。

alt text

+0

還有什麼輸入或建議請問? – 2010-12-20 14:20:27

回答

1

我認爲你應該在這裏使用的複合模式。我會說每一步都應該處理對一系列步驟的引用。如果你想讓你可以將這個集合移動到你的WaterfallStep,但它仍然應該是一個步驟集合,而不是BasicSteps而不是AbstractSteps。

關於JPA,您應該使用OneToMany註釋。這個註釋的用法有很多例子。

祝你好運

+0

感謝您的建議。我從複合模式開始;-)。但是某些「行爲」不適用於例如瀑布行爲的葉子,並且牢記我需要採用這種設計的利斯科夫替代原則。讓我知道我是否過度使用;-) – 2010-12-17 21:30:26

相關問題