什么是声明式(Declarative)编程和命令式imperative)编程

命令式编程(imperative):喜欢大量使用可变对象和指令,我们总是习惯于创建对象或者变量,并且修改它们的状态或者值,或者喜欢提供一系列指令,要求程序执行。

声明式编程(Declarative):对于声明式的编程范式,你不在需要提供明确的指令操作,所有的细节指令将会更好的被程序库所封装,你要做的只是提出你要的要求,声明你的用意即可。

请看下面一段程序,这一段传统的命令式编程,为了打印数组中的值,我们需要进行一个循环,并且每次需要判断循环是否结束。在循环体内,我们要明确地给出需要执行的语句和参数。

public static void imperative() {
int[] iArr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
for (int i = 0; i < iArr.length; i++) {
System.out.println(iArr[i]);
}
}

与之对应的声明式代码如下:

public static void declarative(){
int[] iArr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
Arrays.stream(iArr).forEach(System.out::println);
}

可以看到,变量数组的循环体居然消失了!println()函数似乎在这里也没有指定任何参数,
在此,我们只是简单的声明了我们的用意。有关循环以及判断循环是否结束等操作都被简单地封装在程序库中。

你可能感兴趣的:(什么是声明式(Declarative)编程和命令式imperative)编程)