演算法+資料結構=程式。
這是一條很著名的公式。但是我覺得過於簡單的公式或者不能適應現在的開發潮流了。
程式乙個目的是用來模擬人類的行為,讓機器自動化處理本來人自己需要處理的事務。
正因為這樣,所以程式有很強的「過程性」,把人的步驟轉化為計算機指令的序列。
過程性的設計方法,是最原始的方法,是完全模擬人類習慣的一種方法。
但是,其實過程並不是我們關注的重點,我們關注的是結果。只要是這個結果,我們不在乎這個過程究竟是如何實現的。
有沒有辦法表述這種從輸入到結果的對應關係呢?
有,那就是函式。有了函式,我們就將過程給抽象化了,我們再也不關心過程如何,只需要知道這個函式能正常工作就行了。
因此函式是過程的抽象。我們可以把人類具體事務,識別成各種函式關係。函式關係是關於定義域和值域的對應方法。建立函式關係,首先要明確的定義域和值域,這表現為資料的狀態集合,然後定義轉換方法。
函式是乙個非常高層次的抽象概念,但是過於數學化。我們認識事物的一般方法並不是去定義什麼狀態集合,而是基於一些歸納了的概念。
概念是屬性和動作的組合,比如「顏色」是屬性,而「飛」是動作。
概念是高度抽象的,有別於具體的物件。通過概念,就可以不關心具體物件是什麼,而只需要關心概念的提煉。
從某種層度上來說,概念和函式是異曲同工,都是從高層次上開展程式設計設計為目的。
高層設計的內涵是什麼?
第一點是從上到下的設計思路,從概念關係到具體例項。
函式關係和物件關係
演算法 資料結構 程式。這是一條很著名的公式。但是我覺得過於簡單的公式或者不能適應現在的開發潮流了。程式乙個目的是用來模擬人類的行為,讓機器自動化處理本來人自己需要處理的事務。正因為這樣,所以程式有很強的 過程性 把人的步驟轉化為計算機指令的序列。過程性的設計方法,是最原始的方法,是完全模擬人類習慣...
JavaScript 物件和函式的關係
理解物件中說明了函式是物件,因為可以用 instanceof函式來判斷。所以函式是一種物件,但是函式又有特殊的地方。陣列是物件的乙個子集,屬於包含關係,但是物件和函式之間的關係有點複雜,物件和函式的關係類似於雞生蛋,蛋生雞的關係。例子 function person name,age var per...
物件關係 建構函式
物件關係和建構函式。物件通訊 行為 物件關係 指兩個物件間具有的某個常態的關聯 屬性 描述物件關係時,應該在同乙個語境之下 物件關係 1,1對1 乙個a對應乙個b,乙個b對應乙個a 2,一對多 多對一 乙個a 乙個a 對應乙個b 乙個b 乙個b 乙個b 對應乙個a 多個a a與b是一對多關係 多對一...