ITPub博客

函数式编程 VS 面向对象编程

数据分析 作者:husthxd 时间:2016-08-02 11:44:10 0 删除 编辑
1.面向对象编程通过封装不确定因素来使代码能被人理解;函数式编程通过尽量减少不确定因素来使代码能被人理解。
2.封装、作用域、可见性等OOP机制的存在意义,都是为了精细控制谁能够感知和改变状态,而当涉及多线程的时候,对状态的控制就更复杂了,这些机制就是所谓的“不确定因素”。函数式编程的思想是与其建立种种机制来控制可变的状态,不如尽可能消灭可变的状态这个不确定因素,依据是:假如语言不对外暴露那么多有出错可能的特性,那么开发者就不那么容易犯错。
3.OOP的世界提倡开发者针对具体问题建立专门的数据结构,相关的专门操作以“方法”的形式附加在数据结构上。函数式编程语言实现重用的思路是提倡在有限的几种关键数据结构(如list、set、map)上运用针对这些数据结构高度优化过的操作,以此构成基本的运转机构,开发者再根据具体用途,插入自己的数据结构和高阶函数去调整机构的运转方式。

请登录后发表评论 登录
全部评论
IT.技术.管理。

注册时间:2007-12-28

  • 博文量
    978
  • 访问量
    3597595