Java 这是一个足够好的抽象还是我可以做得更好?
需求:需求是拉取一组数据源。拉动是有序的,可以分组成小的子组 设计:每一次拉动都被抽象为一个步骤。子组表示为WaterwallStep,因为组中每个数据源的提取都是有条件的,并且遵循瀑布模型,即,如果组中的第一个数据源提取成功,则我将脱离组 问题Java 这是一个足够好的抽象还是我可以做得更好?,java,oop,jpa-2.0,ooad,Java,Oop,Jpa 2.0,Ooad,需求:需求是拉取一组数据源。拉动是有序的,可以分组成小的子组 设计:每一次拉动都被抽象为一个步骤。子组表示为WaterwallStep,因为组中每个数据源的提取都是有条件的,并且遵循瀑布模型,即,如果组中的第一个数据源提取成功,则我将脱离组 问题 这是一个足够好的抽象还是我可以做得更好 如何在JPA2中表示这一点?我知道我们可以使用描述符来映射继承,但我主要关心的是waterwallstep到BasicStep之间的1对多关系 多谢各位 我认为您应该在这里使用复合模式。我认为每个步骤都应该处理对
我认为您应该在这里使用复合模式。我认为每个步骤都应该处理对一组步骤的引用。如果您愿意,您可以将此集合移动到您的WaterwallStep,但它仍然应该是一个步骤集合,而不是BasicSteps和AbstractSteps 关于JPA,您应该使用OneToMany注释。有很多使用此注释的示例
祝你好运谢谢你的建议。我从复合模式开始;-)。但是有一些“行为”不适用于叶子,例如瀑布行为,记住liskov替换原则,我需要求助于这种设计。如果我想得太多,请告诉我;-)还有什么意见或建议吗?