分类一
1、命令式编程
代码的执行是一行一行执行的,类似于CMD窗口下的操作,后一步的执行与否永远取决于前一步的执行结果。
Java、C、Python等都是这种编程模式。
命令式编程的优点是条理清晰,调试方便。
2、函数式编程
将函数名作为其他函数的参数传递。典型的是Java8的λ表达式,JavaScript的回调函数等。
3、声明式编程
SQL、HTML、CSS等是典型的声明式编程,仅仅表达需求,不负责执行。
声明式编程的最大特征是不用定义变量,没有循环等逻辑。
4、响应式编程
变量与变量之间始终保持关联关系,动一发牵全身。
命令式编程中 a = b + c; 执行后 b 和 c 的值发生变化对 a 是没有影响的,如果想将 b、c的变化作用到 a身上,必须再次执行该命令。在响应式编程中 b、c值的变化时刻改变 a的值。
这类似于 excel中C1单元格的值是函数表达式= A1+B1,当修改单元格A1或B1时 C1的值立刻随之改变,如下图所示。
Flux是响应式编程模式的代表,可能也是唯一。
分类二
1、面向对象编程
2、面向过程编程
3、面向切面编程
分类三
1、防御性编程
2、契约式编程