这是一个足够好的抽象,还是我可以做得更好?

时间:2010-12-17 20:52:29

标签: java oop jpa-2.0 ooad

要求:要求是(执行())一组数据源。拉动是 Ordered ,可以分组成小的子组。

设计:每个拉动都被抽象为一步。子组表示为WaterFallStep,因为组中每个数据源的拉力是有条件的并且遵循瀑布模型,即如果第一个数据源拉入组成功,那么我就会脱离组。

问题

  1. 这是一个足够好的抽象,还是我可以做得更好?
  2. 如何在JPA 2中表示这一点?我知道我们可以使用descriminators来映射继承,但我主要担心的是WaterFallStep-to-BasicStep之间的1对多关系
  3. 谢谢。

    alt text

1 个答案:

答案 0 :(得分:1)

我认为你应该在这里使用复合模式。我要说每一步都应该处理一系列步骤的引用。如果你想要你可以将这个集合移动到您的WaterfallStep但它仍然应该是Steps的集合,而不是BasicSteps而不是AbstractSteps。

关于JPA,您应该使用OneToMany注释。这个注释的使用有很多例子。

祝你好运