2

私のアプリケーションでは、特定の一連の手順で DB からデータをロードする必要があります。たとえば、すべての顧客をロードしてから、すべての注文をロードして製品をロードするなどです。ただし、1 つまたは 2 つのケースでは、順序が異なり、ロードする必要もあります。追加データ。

abstract Model
{
   public void load(Configuration config) {
      loadCustomers(config);
      loadOrders(config);
      loadProducts(config);
   }
}

ConcereteModel1 extends Model {
   doesn't overload load
}

ConcreteModel2 extends Model {
   public void load(Configuration config) {
      loadProducts(config);
      loadOrders(config);
      loadCustomers(config);
      loadAdditional(config);
   }
}

私の最初の考えは、顧客、注文、または製品の実際のロードにコマンド パターン (ロード コマンド メソッドを使用) を使用し、一連の責任を使用してコマンドを結び付けることができないかということです。これは良いアプローチですか、それとも私はここで物事を設計しすぎていますか?

サンプルコードは非常に役に立ちます。提案をありがとう

4

2 に答える 2

1

それはあなたの仕事にとって正しい選択のように思えます。または、データ ロード ステップの基本クラスを作成し、特殊なケースでは別の方法で実装する必要があります。

それはすべて、あなたが特別なケースを持っていることを判断する最も簡単な方法が何であるかに依存します.

コード サンプルについては、この責任の連鎖の説明を参照してください。

于 2012-12-03T08:17:29.790 に答える
0

私はあなたが注意を払う必要があると思います:

技術的な方法(コマンド パターンなど) を使用してドメイン仕様を非表示にしています(「...ただし、1 つまたは 2 つのケースでは...」)。

2番目の解決策を開発することをお勧めします。

于 2013-05-02T08:50:15.400 に答える