需求:需求是拉取(execute())一组数据源。拉动是有序的,可以分组成小的子组。
设计:每次拉动都被抽象为一个步骤。子组表示为 WaterFallStep,因为组中每个数据源的拉取都是有条件的,并且遵循瀑布模型,即如果组中的第一个数据源拉取成功,那么我会脱离该组。
问题
- 这是一个足够好的抽象还是我可以做得更好?
- 如何在 JPA 2 中表示这一点?我知道我们可以使用鉴别器来映射继承,但我主要关心的是 WaterFallStep-to-BasicStep 之间的一对多关系
谢谢。
最佳答案
我认为你应该在这里使用复合模式。我想说每个步骤都应该处理对步骤集合的引用。如果您愿意,可以将此集合移至 WaterfallStep,但它仍然应该是步骤的集合,而不是 BasicSteps 也不是 AbstractSteps。
关于 JPA,您应该使用 OneToMany 注释。有很多使用此注释的示例。
祝你好运
关于java - 这是一个足够好的抽象还是我可以做得更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4474666/