[译]java8新特性:函数式编程(functional programming)的优势

Java8引入了函数式编程,他对java是一个极大的扩展。Java今后不在是一个单纯的面向对象语言,如今他同时混合了函数式编程。这是巨大的改变,须要咱们调整面对对象的编程习惯,以适应这些变化。java

 

可是为何咱们须要去适应这些改变?为何咱们须要花费时间精力上手函数式编程而不是直接用面对对象解决问题?编程

  • 函数式编程的引入,帮助咱们减小业务逻辑和代码的分歧。他容许咱们在更高层次更天然的描述业务逻辑。让代码直接描述“你想作什么”,而不是“你想怎样去作”。
  • 许多样板(boilerplates)能够被移除,这会让代码更清晰更简洁。
  • 高阶函数(Higher-order functions)容许咱们:  
    • 发送方法到其余方法中。
    • 在其余方法中建立方法。
    • 从其余方法中返回方法。

    这对Java来讲是一个巨大的胜利,咱们须要发送,建立并返回对象来完成这项工做。咱们将能建立更健壮,更集中而且更容易重用的代码。编程语言

  • 多亏lambda表达式,如今咱们能够实现惰性求值(lazy evalutions)。当发送lambda表达式做为一个方法的参数,Java编译器会在lambda表达式在方法中被调用时才计算他的值。这跟通常的方法参数被直接求职是不同的。
  • lambda让单元测试变得更加有趣~他容许咱们建立简洁,小巧和快速的轻量级单元测试。用lambda咱们可以储存测试代码。他容许咱们测试各类场景对代码的影响。
  • 探索新的模式。
  • 等等好处。

掌握新的函数式编程对于熟悉面对对象编程的开发者来讲是一个挑战,但他应该是一个很是受欢迎的挑战。通过以前的的铺垫,我所要说的是你真的应该学习一门函数式编程语言。他会让你了解到他带来的可能性和能量。我认为这将帮助你在另外一个层面了解函数式编程。函数式编程

 

所以,掌握函数式编程,加上良好的面对对象思想,可以让你的代码更加牛b!函数

 

 

*英文连接:deadCodeRising单元测试

*原创译文学习

相关文章
相关标签/搜索