0

これが私のシナリオです:

10 個のプロパティ (名前、誕生日など) を持つオブジェクトがあります。私はjsf Webアプリの2つの別々のページでそのオブジェクトを使用しています。あるページでは 5 つのプロパティのみを使用し、別のページでは 10 個すべてを使用する可能性があります。オブジェクトを構造化するためのベスト プラクティス/最も効率的な方法は何ですか? オブジェクトは 1 つだけですか? 最初のページ用に 1 つのオブジェクトがあり、最初のオブジェクトを拡張する 2 番目のページ用に別のオブジェクトがありますか? または、各ページの両方に基本オブジェクトを拡張するオブジェクトがありますか?

4

4 に答える 4

1

私はプロパティにあまりこだわらず、クラスについてもっと考えます。

クラスはアトミックなものを表していますよね?それは人のように聞こえます。

状況によっては、一部のプロパティのみを使用しているという事実。

HalfAPerson クラスを使用しても意味がありません。

したがって、私にとって重要なのは、そもそもクラスの「原子性」です。単一の論理的なものを説明している場合、なぜそれをさらに分割するのですか?

于 2013-05-14T13:52:47.590 に答える
0

理想的には、ページが異なる場合は、2 つの異なるクラスをまとめて使用する必要があります。将来、共通の属性がなくなる可能性があるからです。

そうは言っても、共通データを使用してページ間で使用している場合(おそらくセッションにも保存している場合)、単一のオブジェクトを使用し、ページで適切な数の属性を使用することをお勧めします。これは、これらの共通の値が両方のページで同じであることを前提としています。

于 2013-05-14T14:07:18.447 に答える
0

すべてのオブジェクト指向コード内の一般的なルールとして:

クラス A があらゆる点でクラス B に似ているが、余分なビットがいくつかある場合。クラス A はクラス B を拡張する必要があります

クラス A とクラス B が類似しているが、どちらも互いに完全にカプセル化されていない場合、どちらも基本クラスを拡張する必要があります。

私はあなたが最初の状況にあると思います

于 2013-05-14T13:51:02.793 に答える