面向對象編程:
是一種自頂向下的函數是程序設計方法。用面向對象方法構造軟件時,我們將代碼以名詞(對象)做切割,每個對象有某種形式的標識符(self/this)、行為(方法)、和狀態(成員變量)。識別出名詞并且定義出它們的行為后,在定義出名詞之間的交互。實現交互時存在一個問題,就是這些交互必須放在其中一個對象中(而不能獨立存在)?,F代面向對象設計傾向于定義出 “服務類”,將操作多個領域對象的方法集合放在里面。這些服務類,雖然也是對象,但通常不具有獨立狀態,也沒有與他們所操作的對象無關的獨立行為。
函數是編程:
方法通過組合和應用函數來構造軟件。函數式編程傾向于將軟件分解為其需要執行的行為或操作,而且通常采用自底向上的方法。函數是編程中函數的概念具有一定的數學上的含義,純粹是對輸入進行操作,產生結果。所有變量都被認為是不可變的。函數式編程中對不變性的強調有助于編寫并發程序。函數式編程視圖將副作用推遲到盡可能晚。從某種意義上說,消除副作用使得對程序進行推理(reasoning)變的較為容易。函數式編程還提供了非常強大的對事物進行抽象和組合的能力。
新聞熱點
疑難解答