1
likuku 2014-11-13 00:24:57 +08:00 1
过程化:单线流程,就是做菜那种流程,先干啥后干啥,按部就班依次来,每步骤都事无巨细清清楚楚。
对象化:看看3次元真实世界吧,都是对象,每个对象都有属性有特有的方法,很多对象也可以按相同/近似的属性方法划为同一类。 |
2
watsy0007 2014-11-13 00:31:52 +08:00 1
看你用的是什么语言,什么框架,自己的代码风格是什么样。
一般代码风格不好。分层思想不清晰。 把面向对象的语言和框架用的线性的函数嵌套调用。。说好听点是过程式函数式,说不好听点是写的太差。。 编程主要处理的是2块。 1:数据的隐藏,抽象 2:代码的抽象 面向对象里面处理是通过绑定数据和方法。 通过方法操作数据,实现1. 通过继承,多态,实现2. 而函数式,过程式是通过模块,高阶函数,lambda表达式。闭包。实现1和2. |
3
cover 2014-11-13 00:42:43 +08:00 via Android 1
过程式思维就是函数式思维吧,和oo不同在于 函数是中心,而oo的话是对象是中心 ,当我们实现一些简单的数学累加的时候用oo思维就需要专门定义一个没有意义的接口 然后用没有意义的类中的一个借口去调用它实现累加,而函数思维就是直接写一个函数然后调用之。因为oo的思维是万物皆是对象,所以当碰到一些特殊无法抽象东西的时候就变得牵强。但是其实万变不离其宗吧
|
4
cover 2014-11-13 00:46:27 +08:00 via Android
其实oo也可以用函数式思维来实现的,他只是一种编程的思维方式吧。而oo在如果你不在乎牵强性也可以用来做函数做的事情,比如上面说的建立一些没有意义得类。比如我经常用的lua ,看上去很函数,但是不用附加的功能,紧紧用闭包就可以做一些oo的东西,只是比较复杂吧了
|
6
cover 2014-11-13 20:17:03 +08:00
今天详细去解了下 就从 λ 演算(lambda calculus)开始看好了。。。我也在看,和oo完全不是一种编程思维吧
|