@
wizardforcel 面向对象的中的对象,本来就是对现实事物的抽象,但不是只要把东西都看成对象了就是 OOP 了。 restful 中的资源也可以看成对象。但确实不能说 restful 的接口都是 OO 的吧。现在来说 REST 不是一种规范吗。谁说都通过 OO 的封装了。封装是 OOP 的一部分,但是模块化的实现就不止 OO 一种。 windows 和 linux 提供的接口时候可没告诉我接口是哪个类下面的。
而且 OOP 和函数式并不冲突,要不然 python 怎么做到的完全基于面向对象,还能写出函数式的代码。从大教堂和集市中可以看到, C 之所以取代了 lisp ,完全是因为 C 的移植能力好。如果历史是 lisp 更易移植,恐怕现在的操作系统是 lisp 写的了。
函数式提供的是数学抽象,相比, OO 提供的抽象更容易让人理解,这也是为什么现在 OO 大行其道的原因。我没说哪个更好。我是一个 JAVA 程序员,学了 python 后发现,原来那些设计模式都 TM 是为了避免 JAVA 开发中一些弊端。学了 lisp 才发现,原来一个算法可以表达的如此完美,哪些什么类,什么对象,都可以去死了。