2010-12-17 57 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

相关问题