0

DAO パターンの transfer オブジェクトについて質問があります。USER テーブルがあり、このテーブルには 20 個のフィールドがあるとします。ビジネス ロジックでは、シナリオによってはフィールド 1 からフィールド 3 が必要であり、別のシナリオではフィールド 4 からフィールド 6 が必要になる場合があることに気付きました。したがって、userTO クラスを実装するときは、フィールド 1 ~ 6 のみを定義するか、20 個のフィールドすべてを定義する必要があります。もう 1 つのことは、20 個のフィールドすべてを定義するとUserDAOImpl、userTO オブジェクトを開始するために、クラス内の SQL が常に 20 個のフィールドすべてをフェッチする必要があることです。これは問題になりますか?

どんな提案でも大歓迎です。ありがとう!

4

1 に答える 1

0

userTO クラスが非常にまとまりがあると仮定します...

オブジェクトのインスタンスを作成するときは、それらが有効な状態で作成されていることを常に確認する必要があります。つまり、特定のオブジェクトのインスタンスを取得して、プログラミング エラー タイプの例外 (NullPointerException など) を受け取ることなく、プログラム内の任意の場所にあるメソッドに渡すことができるということです。これは、常に 20 個のフィールドすべてで userTO を作成する必要があるという結論につながります。

しかし、私たちは制約の中で生活し、働いています。userTO の各インスタンスに 20 個のフィールドすべてを入力すると、システムに不必要な負担がかかる場合は、頻繁に使用される userTO フィールドのサブセットを含む userTOShort を作成することを検討してください。次に、必要に応じて、ほとんど必要とされない「オプションの追加」フィールドにデータを入力できます。この「短い」解決策は少し汚い気がしますが、よりクリーンな解決策はわかりません。

于 2011-05-02T09:15:32.950 に答える