Jhipsterデザインの属性を計算するためのベストプラクティス

Dec 17 2020

参加者オブジェクト(各レースのIDとレース時間を秒単位で持つ)で構成されるレースクラス(id、raceName、date、List -Participant-、averageTime)があるJhipsterレーシングアプリを作成するとします。タイムがリリースされたとき(フィニッシュラインを通過したとき)およびレースが参照されるたびに、レーシングクラスの平均時間を計算したいとします。そのために、そのような平均を計算する方法をどこに置きますか?

3つのオプションがあります。

  1. Raceコンポーネントを表示するときの角度クラスのビューでは、表示されるたびにデータを取得して計算できます。
  2. レースサービスの実装のどこか。
  3. Raceオブジェクトがインスタンス化されたときの@Transientを使用したドメインモデル

別のオプションやベストプラクティスが表示された場合は、お知らせください。ありがとう

エンティティRace {raceName String、time Instant、averageTime Double}

エンティティ参加者{racingTime整数}

関係OneToMany {Race {participant(id)}と参加者{race(id)}}

//ページネーションオプションを設定します:すべてをページネーションでページネーションします// ChatMessageを無限スクロールでページネーションします//すべてを無限スクロールでページネーションします

//サービスオプションを設定します:serviceImplですべてサービスします// serviceClassですべてサービスします

// DTO:dto all with mapstruct

//フィルタリング:フィルター*

回答

3 HopeyOne Dec 17 2020 at 06:55

私の好みは、ドメインモデルからDTOへの変換の一部としてサービスレイヤーでこれを行うことです。平均を計算@TransientするRaceドメインモデルにゲッターを実装することができ、(私は)mapstructがこれをDTOにマッピングすることができます。または、サービスメソッドに追加のDTOフィールドを設定することもできます。ありますこれは、あなたのマッパーで計算を置くことができる場所。