鲍勃大叔:编程范式并不排斥!


命令式、函数性、面向对象。这些不是彼此的对手。不是一个比另一个好。它们不是相互排斥的。您不必只选择一个。一个设计良好的系统同时是三个范式的系统。

众说纷纭:
我不知道为什么!但是,一些开发人员认为一种技术、框架或范式将取代其他技术、框架或范式。你知道为什么吗?

鲍勃大叔,你能在这些范式之间转换一棵二叉树吗?

是的,但是更深入地观察每一个,很明显,只有当这些范式以非常松散的方式对待时,我们才能混合它们。

我很好奇这三个混合起来会发生什么?

OO范例与函数式编程范例的使用是否与我们设计的系统的哪个方面有某种关联?当我推理结构时,我倾向于在OO中思考,当我需要推理转变时,我倾向于用函数术语来思考

命令和函数式是相互排斥的范例,至少是纯粹的诡异。在命令式代码中可以使用一种功能式,但恰恰是你正在使用功能式或命令式。OO是另一回事,对这两者都是互补的。