Since Scala already has first-class unevaluated values, we just use them when appropriate and the Strategy Design Pattern vanishes since it is of no consequence.
In Scala, the Strategy Design Pattern reduces to =>
denoting
call-by-name evaluation (without it, Scala defaults to
call-by-value evaluation).
Java has no such mechanism ߞ strictly call-by-value evaluation ߞ hence the tendency to Strategy Design Pattern.