1. 程式人生 > >什麼是宣告式(Declarative)程式設計和命令式imperative)程式設計

什麼是宣告式(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()函式似乎在這裡也沒有指定任何引數, 在此,我們只是簡單的聲明瞭我們的用意。有關迴圈以及判斷迴圈是否結束等操作都被簡單地封裝在程式庫中。