2016-12-10 32 views
3

哪裏是存儲功能的首選位置以提高流的可讀性?何處存儲java流幫助程序方法

例如:

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

我不知道它是否應該在使用它的服務類,但也許這將是在很多地方有啥需要一些額外的靜態utils的?或實體?

回答

3

儘可能避免不必要的輔助方法。

在這個特定的示例中,輔助方法可以很容易地用一個方法參考,這是替代(可以說)可讀:

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

在其他情況下,在這裏實際做需要一個輔助:想想一年中你會在哪裏尋找這樣的輔助方法,當你不得不使用你現在幾乎不熟悉的代碼來滿足新的需求。

  • 它與實體相關嗎?把它放在實體類
  • 它是更多的業務邏輯相關?把它放入商業邏輯
  • 它通常有用嗎?把它放進在這種情況下,方法的參考工具類
+0

有足夠 –

+0

到第二部分在這個例子中我覺得最好的地方是在實體類,但我很害怕讓它太大的雜亂 –

+0

這例子不起作用,返回這個?? –