🎣 CaughtFish
📝 概要
CaughtFish
は、釣り上げた魚の情報を表すデータクラスです。DB保存やAPI返却用の純粋なデータ構造として利用されます。
🏷️ フィールド
fish: FishId
… 魚種IDsize: Double
… 魚のサイズrarity: RarityId
… レアリティworth: Double
… 価値cfd: Double
… 累積分布関数値angler: AnglerId
… 釣り人IDworld: FishingWorldId
… 釣り場IDtimestamp: ZonedDateTime
… 捕獲日時
🏗️ 設計意図
- ドメイン層の
CaughtFish
インターフェースとは分離し、永続化やAPI用の純粋なデータ構造として設計しています。 - Kotlinの
data class
として、@Serializable
でシリアライズ可能にしています。 - 変換用に
from(domain: CaughtFish)
ファクトリを持ちます。
💡 利用例
val caughtFishData = CaughtFish.from(domainCaughtFish)
📝 備考
- FishIdやAnglerIdなど、他のmodel型と連携しています。
- ZonedDateTimeはISO8601でシリアライズされます。
📝 カテゴリ:
このドキュメントは「構造(Structure)」カテゴリに属します。