OO和函数式的区别是什么?

anycmd 发布于 2014/11/26 14:23
阅读 431
收藏 2
感觉函数式是把整个系统看作一个没有子节点的节点,所有的函数都直接挂在这个唯一的节点下。而OO引入了组织结构,OO会在这个系统节点下首先对问题在结构上进行分类,建立出合适规模的子孙节点,然后把函数绑定在子孙节点中去。OO系统中索引函数的方式是沿着组织结构树进行索引,OO中的所有函数是棵树,而函数式系统中的所有函数是个列表。
也就是说OO系统中的每一条函数记录上都会有附加上的组织结构属性,而函数式系统中没有。
OO系统中的每一条函数记录上可能会有一个取值形如“Person.Employee”的命名为"ObjectType"的属性,一条函数记录上还有一个命名为"FunctionCode"取值为"Fire"的属性。在OO系统下标识函数的标识是"Person.Employee.Fire"这样的具有层级结构的值,而在函数式系统中是"ADBE7E3ABC23471A"这个没有添加任何组织结构的值。
加载中
0
anycmd
anycmd
我错了,函数式也有组织结构,函数式的组织结构是函数的作用域链,是闭包
0
anycmd
anycmd
函数式和OO没有本质差别
0
anycmd
anycmd

好书《元素模式》

刚读了一点。元素模式是处在GOF面向对象设计模式之下的一些模式,这些模式的抽象等级比上层的面向对象设计模式更高。在上层的模式中相距甚远的两个模式很可能在下层的元素模式看来却相距甚近。元素模式是对上层的面向对象模式进行降维研究。看样子作者可能知道那棵逻辑的树的存在,但元素模式没有构造定律那么高的抽象,感觉元素模式是处在构造定律之上的一套方法论。它既有利于理解上层的面向对象设计模式也有利于理解下层的构造定律。

0
FlyingHail
FlyingHail

OO 首选要用面向对象的思想来思考问题,所谓面向对象的思想,最基本的一条就是:一切都是对象

不用面向对象的思想来设计系统,即使写了一堆class,这个程序的本质依然不是面向对象的

0
Klaus88
Klaus88
oo是个坑,你以后就知道了,真心的
0
修改登录密码
修改登录密码

OO的思想挺好,我用函数式编程有时候也会套用OO的一些思想(比如封装) 

但是很多时候觉得OO太复杂了 难以控制

0
大王叫我来卖萌
大王叫我来卖萌
参考 http://www.cnblogs.com/kubixuesheng/p/4132116.html
返回顶部
顶部