2

私は「デザインパターン」について学ぶことに興味がある初心者プログラマーです。私は複数のサイトからデザイン パターンに関する多くの情報を読みましたが、ほとんどは特定のパターンの非常に基本的なアプリケーションを利用しています。

私の目標は、複数のテーブルからのデータを持つオブジェクトを作成することです。リポジトリ パターンを使用して、データベース内の 1 つのテーブルから必要なデータを抽出しています。しかし、2 番目のテーブルからの追加データも必要です。(私の意見では、結合を使用すると、これが不必要に複雑になります) ここで、次に何をすべきかわかりません。Factory Patterns が最適でしょうか? 等...

ほとんどの場合、これを行う方法に関する少なくともいくつかのガイダンスは役に立ちますが、必ずしも実際の「コード」ではありません。

4

3 に答える 3

1

すでに答えが分かっているのは興味深いことです。あなたは質問で「作成」と言いました。ビルダーデザイン パターンは、複雑なオブジェクトを段階的に構築することに重点を置いており、ほとんどの場合、コンポジットを構築します。

于 2012-10-31T14:32:21.170 に答える
0

DataMapper タイプのパターン ( http://martinfowler.com/eaaCatalog/dataMapper.html ) を検討しましたか。

このパターンは、リポジトリがクエリを作成して実行できるため、リポジトリとうまく機能しますが、データマッパーは結果 (データリーダー) を取得して関連するオブジェクトを構築します。

http://martinfowler.com/eaaCatalog/repository.html

于 2012-11-01T13:37:40.553 に答える
0

これがどれほど建設的かはわかりませんが、私なら 2 つのオブジェクトを取得し、2 つの部分から 3 番目のオブジェクトを構成することになります。

MyObjectA a = GetFromDataReader1();
MyObjectB b = GetFromDatareader1();
MyCompositeObject c = MyCompositeObject.FromParts(a,b);

class MyCompositeObject
{
 // all your properties you need
  public static MyCompositeObject FromParts(MyObjectA a, MyObjectB b) 
  { //return a new MyCompositeObject here
  }
}
于 2012-10-31T14:32:49.160 に答える