2016-12-10 17 views
3

ストリームの読みやすさを向上させるための関数を格納する場所はどこですか?例えばjavaストリームヘルパーメソッドを格納する場所

private BinaryOperator<Cash> sumPayments() { 
    return (payment1, payment2) -> payment1.sum(payment2); 
} 

、それが使われているサービスクラスにする必要があります場合、私はわからないんだけど、いくつかの余分な静的Utilsの程度をいただきましたので、多分それは多くの場所になりますか?または実体ですか?可能であれば、不必要なヘルパーメソッドを避けてください。

答えて

3

この特定の例では

、ヘルパーメソッドは、簡単に(間違いなくより)読み取り可能なメソッドの参照に置き換えることができます:あなたが実際にヘルパーが必要です他の例では、

Cash total = subtotals.stream().reduce(Cash.ZERO, Cash::sum); 

:あなたの今までほとんど知られていないコードを新しい要件に適応させる必要がある1年で、そのようなヘルパーメソッドをどこで検索するかについて考えてみてください。

  • もっと多くのエンティティが関連していますか?エンティティクラスに入れよう
  • ビジネスロジックはもっと関連していますか?ビジネスロジックに入れてください
  • 一般的に便利ですか?このような状況の方法を参照してはい
+0

ユーティリティクラスにそれを置くことは、この例の2番目の部分に –

+0

十分です私は最高の場所は、エンティティクラスにあると思いますが、私はそれがあまりにも大きい作るの怖がっていたと –

+0

これを散らばっ例は動作しません、これを返す?? –

関連する問題