程式設計范型

程式設計范型( Programming paradigm)是指人們在程式設計時採用的基本方式模型或程式設計體裁,即用程式設計語言表達各種概念和各種結構的一套設施。一個程式設計范型一般是一類程式設計語言的基礎,是執行設施的基本集合,或者是關於計算機系統的思考方法。它體現一類語言的主要特點,用以支持套用領域所希望的設計風格。面向對象范型的核心概念是對象和類。從程式本身看,它是一個在主程式之下的類的集合和各類之間由繼承關係聯繫起來的結構,在主程式中定義各對象,規定它們之間傳遞訊息的規律。從程式的執行看,它是各對象之間以訊息傳遞的方式進行的通信。面向對象程式設計最主要的特徵是各對象之間的繼承。

定義,釋義,列子,參見,

定義

面向對象編程、面向方面編程、函式式編程。是不是覺得很亂,其實這些只不過是"編程范型"中的一些特例而已,而不同的程式語言如C++、JAVA也並不是僅僅對某一種編程范型的支持,或許是支持某個或許是支持若干多個編程范型,但請牢記每一種編程的范型都是一種解決問題的方案,採用任何一個都可以在某個領域快速的解決問題!

釋義

一個編程范型是一類典型的編程風格(可以對照方法學,是一個從事軟體工程的一類典型的風格)。
一個編程范型提供了(同時決定了)一個程式設計師對程式執行的看法。例如,在面向對象編程中,程式設計師認為程式是一系列相互作用的對象,而在函式式編程中一個程式會被看作是一個無狀態的函式計算的序列。
正如軟體工程中不同的群體會提倡不同的方法學一樣,不同的程式語言也會提倡不同的編程范型。一些語言是專門為某個特定的范型設計的(如Smalltalk和Java支持面向對象編程,而Haskell和Scheme則支持函式式編程),同時還有另一些語言支持多種范型(如Common Lisp、Python和Oz)
很多編程范型已經被熟知他們禁止使用哪些技術,同時允許使用哪些。 例如,純粹的函式式編程不允許有副作用;結構化編程不允許使用goto。可能是因為這個原因,新的范型常常被那些慣於較早的風格的人認為是教條主義或過分嚴格。然而,這樣避免某些技術反而更加證明了關於程式正確性——或僅僅是理解它的行為——的法則,而不用限制程式語言的一般性。
編程范型和程式語言之間的關係可能十分複雜,由於一個程式語言可以支持|多種范型。例如,C++設計時,支持過程化編程、基於對象編程、面向對象編程以及泛型編程。然而,設計師和程式設計師們要考慮如何使用這些范型元素來構建一個程式。一個人可以用C++寫出一個完全過程化的程式,另一個人也可以用C++寫出一個純粹的面向對象程式,甚至還有人可以寫出雜揉了兩種范型的程式。

列子

結構化編程, 對比 非結構化編程
命令式編程, 對比 聲明式編程
訊息傳遞編程, 對比 命令式編程
過程化編程, 對比 函式式編程
Value-level programming, compared to Function-level programming
流程驅動編程, 對比 事件驅動編程
純量編程, 對比 陣列編程
基於類編程,對比基於原型編程 (在面向對象編程的上下文中)
Rule-based programming, compared to Constraint programming (在邏輯編程的上下文中)
Component-oriented programming (as in OLE)
面向方面編程 (如 AspectJ)
符號式編程 (如 Mathematica)
面向表格編程 (如 Microsoft FoxPro)
管道編程 (如 Unix命令中的管道)
Post-object programming
面向主題編程
自省編程 或稱 反射編程。

參見

Ars based programming
Memetics

相關詞條

熱門詞條

聯絡我們