[申し訳ありませんが、作品は所有権があるため、オブジェクトの詳細を示すことはできません]
私は同僚と一緒に Java アプリケーションに取り組んでいます。私はクライアント側を担当しており、彼はサーバーコードを書いています。
アプリケーションは、X オブジェクトのテーブルを表示します。表の列は、X の属性の一部を示しています。さらに、各 X の Y の数を示す列があります (関連付けは Y から X への多対 1 であり、Y はその親 X への参照を持ちます)。
Y のカウントは X の属性ではなく、DB のクエリを介して取得されます。
私は TableModel を使用しているので、テーブルのモデルとして X オブジェクトを使用する方が明らかに簡単です。しかし、Y カウントは XI の属性ではないため、X とカウントを保持するコンテナ オブジェクトを作成する必要があります。これは、不要と思われるクラスを追加するため、かなり面倒です。
私は同僚に、X に追加のフィールドとゲッターを追加するよう提案しました。
プライベート void マップ情報 = 新しい HashMap();
これにより、モデル オブジェクト X がより柔軟になります。X の性質に固有のモデルの主要な属性に影響を与えることなく、いつでも必要な状態をクライアントに格納できます。キーはクライアントでのみ定義されるため、モデルが汚染されることはありません。
モデル オブジェクトはドメインのみをモデル化する必要があり、余分なフィールドはドメイン オブジェクトに関連していないため、追加すべきではないと感じたため、彼は拒否しました。彼は、クライアントがこれを処理する必要があると考えています。
どちらの視点にもメリットがあるように思われるので、他の読者がこれについてどう思うか、または感じているかに興味があります。
ありがとう、
ティム