計算機的程式設計技術自晶元開發出來之後,前後歷經了如下不同的發展階段:
v 面向過程的程式設計(pop – procedure oriented programming)
§ 彙編類面向過程的程式設計
主要是各種各樣的asm語言,此階段的特點主要是直接使用cpu指令集來直接操作暫存器以及記憶體資料以及各種i/o裝置,完成計算過程,此階段的最大缺點是程式設計的效率很低、測試很困難,品質控制難度相對較大。
§ 高階語言類面向過程的程式設計
主要是各種各樣的高階語言,譬如c/pascal/cobol等,此階段是充分吸取了彙編級別開發拷貝**的經驗,在函式級別來實現**的重用,函式的出現是程式設計技術方面劃時代的變革,函式使得**重用變得非常容易而且可以通過引數來控制不同的處理邏輯以及流程,在微邏輯層面實現了分塊處理,使得程式設計問題的處理邏輯從。
v 物件導向的程式設計(oop – object oriented programming)
物件導向的程式設計將重用的思路轉為抽象的具有相類似以及個性極為關聯的行為的物件,物件內部高度內聚封裝,強調暴露的介面與屬性跟其內部的資料具備無關性,從而實現一定程度上的「隔絕」封裝,從重用角度來看,物件的封裝、繼承與多型完成了程式設計技術重用上的進一步公升級,使得各種處理邏輯按照行為的相似度進行了分組,並且將資料進行了不同層次的操作封裝,為大規模軟體開發以及元件式開發提供了實現的基礎。
v 面向切面的程式設計(aop – aspect oriented programming)
面向切面的程式設計將重用的思路轉為關注特定的行為(即所謂的「切面」),由於物件導向將一組行為進行了封裝,因此在做特定行為組的跟蹤、行為邏輯調整的時候,譬如日誌、事務等,如何降低開發的工作量實現基於特定行為的**封裝,面向切面即是為此目的而誕生的。
v 面向介面的程式設計(iop – inte***ce oriented programming)
面向介面的程式設計將重用的思路轉為構造不同子系統,系統之間的互動連線主要是通過預先定義好的介面來實現,不同子系統之間強調是「高內聚、低耦合」,但由於介面是抽象的,因此在實際的計算實現中還需要跟具體的通訊技術以及程序技術進行組合來提供,面向介面的程式設計技術在當年的的經典變現為dcom與corba,這兩種曾經風靡全球的基礎技術曾經的偉大構想是基於介面、異構耦合之基礎,但其實後來的諸多技術之中均多少包含了面向介面的程式設計技術,並且介面標準從之前的不同的二進位制標準發展到目前的sgml標準(xml標準)。
v 面向服務的程式設計(sop – service oriented programming)
面向服務的程式設計將重用的思路轉為可拓展的服務,服務具備一組介面,面向服務的程式設計從某種意義上來講是面向介面程式設計的某種表現而已,其關注的視點更加側重於服務而非抽象的介面以及跨平台等內容,soa即是以sop為基礎的,soa更加關注於架構而非程式設計介面。
v 面向配置的程式設計(cop– configuration oriented programming)
面向配置的程式設計將計算的重用從需要開發**到盡量不需要調整**,而是通過平台的設計使其平台內嵌了眾多的邏輯分支,然後通過配置調整來控制這些邏輯流程從而快速地實現計算的重用,面向配置的程式設計考慮到各種計算邏輯的複雜度,因此現實中需要針對具體的業務形態與行業來開發不同的軟體平台,從而快速實現其基礎計算模型的複製,並且通過配置調整來最大程度上滿足使用者的個性化需求,這方面的經典例子基本是各大企業的erp系統,實施時的很多任務作幾乎都是基於配置的程式設計之經典。
v 面向模板的程式設計(top – template oriented programming)
面向模板的程式設計將計算的重用從單純的寫**改為簡單的**拷貝行為,團隊的**編寫更加依賴自己的固有知識庫以及網際網路上的開源庫,使用面向模板的程式設計技術,更加可以實現不同程式設計領域的「白領」、「藍領」的分離,「白領」主要聚焦於演算法的實現以及模板的開發等技術工作,而「藍領」的工作更加聚焦於根據框架設計以及使用者需求靈活組織各種「模板」,快速實施品質保證檢測,從而確保整體的開發效率大幅提高,品質覆蓋依然有強大的保證,面向模板的程式設計其實非常適合於大型軟體外包企業,可以大幅度提公升整體的開發效率,對於批量製造的外包企業而言不失為捷徑。
Nios Flash程式設計技術
1.1 altera支援cfi flash程式設計 1.3 非支援cfi程式設計 由於我所用的nor flash晶元是am29lv320db,不再nios支援的列表,自己編輯了override檔案,但還是無法正確program進去,決定用列表支援的sst39vf800試一試,引腳相容,容量為1 4,...
DLL程式設計技術
一 dll原理 dll dynamic link library 也就是 動態鏈結庫 是乙個可以被其它應用程式共享的程式模組,其中封裝了一些可以被共享的程式或資源。它雖然包含了可執行 卻不能單獨執行,而應由相應的應用程式直接或間接呼叫。在 windows 32 中,可以將 dll 標記為共享以導致相...
多道程式設計技術
讓多個計算機問題同時裝入乙個計算機系統的主儲存器的併發執行,這種設計技術稱為 多道程式設計 這種計算機系統稱為 多道程式設計系統 或簡稱 多道系統 多道程式設計概念 所謂多道程式設計是指允許乙個計算機系統的主儲存器同時容納多個使用者程式,這些程式在計算機系統中可以併發執行。設有兩道程式a與b要在同乙...