2016-07-07 2 views
1

Hybrisは、性能に関する考慮事項が決定的に重要である可能性があるため、コンバーターはポピュレーターを使用する必要があります。ポピュレータの内部でコンバータを使用するのは良い方法ですか?

しかし、私はHYBRISコードで掘っていたとき、私はまた、このようなProductPopulatorなどの他のpopulatorsを使用してPopulatorsを見つけてきた がconverters.And配線されているDefaultAbstractOrderEntryPopulatorProductFeatureListPopulatorようpopulatorsを見ることができます。

私は次のリンクを読んで私はpopulatorsの内部ポピュまたはポピュレータ内のコンバータを使用してについて何かを見つけることができません。

Wiki Hybris - Converters and Populators

Wiki Hybris - DTOS best practice

Wiki Hybris 6

をので、私たちすることができますHybrisのようなポピュラー内のコンバータを使用しますか?人口の中の人口と人口?

答えて

0

基本的には、具象コンバータークラスを書くことは決してありませんし、決して人口を直接呼び出すことはありません。

これは、製品が拡張性のために構築された方法であり、あなたが好きなことを率直に行うことができます。

+0

好きなことをすることはできません。多くのコンバータをポピュレータ内に配線すると、不要なオブジェクトの作成とガベージコレクションの変換階層が長くなります。 –

1

私はこの質問に答えるために私の視点を与えたいと思います。コンバーターとポピュレーターを扱う際のよくある間違いは、それらを混同することです。

コンバーターは、DTOとその作成者を作成します。 ポピュレータの内部でコンバータを使用し、 を実行する必要があることを完全に確認するときは、非常に注意する必要があります。

コンバータを使用しているポピュレータのチェーンが長い場合、パフォーマンスが低下する可能性があります。例えば はC1-> P1-> C2-> P2-> C3-> P3 ....

は私がフォローするベストプラクティスがあると思う:

1)がすでに完了しているコンバータの点に注意してください。我々はDTOは、他のDTO で別の依存関係を持っている場合(modifyPopulatorListを使用して例えば)は、既存のコンバータ

2)に、当社のポピュを追加する必要がある場合はその依存それが本当に必要であれば、そしてckeck私たちは自問しなければなりません。 2番目のDTOが多くの場所で使用されているかどうかによって私はこれを決定します またはそうではありません。それを使用する唯一の人であれば、おそらくp 1つのDTOにのみロパティがあり、2つの異なるコンバーターを持つことは避けてください。

3)それは私たちが要約すると WIKI HYBRIS - Facades and DTOs

に見ることができるように並列に貴様コンバータを使用することで他の可能性は、私たちのコンバータとpopulatorsのデザインは、私たちのresponsabilityであり、我々は最高のデザインを取得する必要がありますそれらの可能性を避けるために、 パフォーマンスの問題。

関連する問題