Seq[SalesRow]アプリケーションのいくつかの異なる場所で、 を取得してを返す必要がありますMap[String,SalesRow]。ここで、文字列は国の名前です。
これをいくつかの場所で使用する必要があります。たとえば、すべての SalesRows のリストを取得して、国ごとの売上高のグローバルな内訳を取得します。しかし、他の場所では、売上を月ごと、次に国ごとに分類したいと考えています (つまり、 にMap[Month,Seq[SalesRow]]なりますMap[Month,Map[String,Seq[SalesRow]]])。さらに別の場所では、日ごと、次に国ごとに分類したいと考えています。
Seq[SalesRow]私の質問は、国のマップを行に取り、返す(少量の) ロジックをどこに配置すればよいかということです。今、私はそれをコンパニオン オブジェクト メソッドに入れていますSalesRow.byCountry(rows : Seq[SalesReport]。それは最適ですか?
インスタンス メソッドを持つからSeq[SalesRow]への暗黙的な変換を作成するという、少しクレイジーなアイデアが思い浮かびました。この操作は SalesRows の任意のシーケンスに適用できるため、これは私にとって魅力的です。EnhancedSalesRowSeqbyCountry
これは良い考えですか?
コンパニオン オブジェクトにロジックを追加することは私の最良の選択ですか、それともより良いオプションはありますか?
ありがとう。