2010-12-17 3 views
0

要件:必要条件は(実行())のデータソースをプルします。引っ張りはです小グループにグループ化とすることができます。これは十分に抽象化されているのですか、それとも良くできますか?

デザイン:各プルはステップとして抽象化されます。グループ内の各データソースのプルは条件付きで、フォールフォールモデルに従うので、サブグループはWaterFallStepとして表されます。つまり、グループ内の最初のデータソースプルが成功すると、グループから脱落します。

質問

  1. が、これは十分に良い抽象化ですか私はより良い行うことができますか?
  2. JPA 2でこれを表現する方法は?私はdescriminatorsを継承をマップすることができますが、私の主な関心事はWaterFallStepとBasicStepの1対多の関係です。

ありがとう。

alt text

+0

これ以上の入力や提案pls? –

答えて

1

私はあなたがここに合成パターンを使用すべきだと思います。私は各ステップが一連のステップへの参照を扱うべきだと言いたい。このコレクションをあなたのWaterfallStepに移動することができますが、依然としてBasicStepsではなくAbstractStepsのコレクションでなければなりません。

JPAについては、OneToMany注釈を使用する必要があります。このアノテーションの使用例はたくさんあります。

幸運

+0

提案していただきありがとうございます。私は複合パターン;-)から始めました。しかし、例えば、滝の挙動についてのリーフには適用できない特定の「振る舞い」があり、この設計に頼る必要があるリスコフ置換原理を念頭に置いている。もし私が過信に思っているなら、私に知らせてください;-) –

関連する問題