• 模塊化編程

    編輯
    本詞條由“匿名用戶” 建檔。

    模塊化編程

    編輯

    模塊化編程是一種軟件設計技術,它強調將程序的功能分為獨立的,可互換的模塊,以使每個模塊都包含執行所需功能的一個方面所必需的一切。

    模塊接口表示該模塊提供和需要的元素。接口中定義的元素可由其他模塊檢測。該實現包含與接口中聲明的元素相對應的工作代碼。模塊化程序設計與結構化程序設計和面向對象程序設計密切相關,它們的全部目標都是通過分解成較小的部分來促進大型軟件程序和系統的構建,并且都起源于1960年代。盡管這些術語的歷史用法一直不一致,但“模塊化編程”現在是指將整個程序的代碼分解為高級片段:結構化編程到結構化的低級代碼使用控制流,以及面向對象的編程的數據使用的對象,一種數據結構。

    關鍵方面

    編輯

    使用模塊化編程,可以將關注點分離,從而使模塊執行邏輯上離散的功能,并通過定義明確的界面進行交互。通常,模塊形成有向無環圖(DAG)。在這種情況下,模塊之間的循環依賴關系被視為指示這些模塊應該是單個模塊。在模塊確實形成DAG的情況下,它們可以按層次結構進行排列,其中最低級別的模塊是獨立的,不依賴于其他模塊,而較高級別的模塊則依賴于較低級別的模塊。特定程序或庫是其自身層次結構中的頂層模塊,但又可以看作是較高級程序,庫或系統的較低層模塊。

    模塊化編程

    在創建模塊化系統時,不是創建一個整體的應用程序(其中最小的組件是整體),而是單獨編寫幾個較小的模塊,因此當它們組合在一起時,它們會構建可執行的應用程序。典型地,這些也被編譯分別經由單獨的編譯,然后通過一個鏈接的連接子。一個剛剛即時編譯器可以執行一些這樣的結構“上即時”的運行時間。

    這些獨立的功能通常分為程序控制功能或特定任務功能。程序控制功能旨在用于一個程序。專門準備了特定的任務功能以適用于各種程序。

    這使得模塊化設計的系統(如果構建正確)比傳統的整體式設計具有更高的可重用性,因為所有(或許多)模塊都可以在其他項目中重復使用(無需更改)。這也有助于將項目“分解”為幾個較小的項目。從理論上講,由于沒有團隊成員在創建整個系統,甚至不需要了解整個系統,因此大型團隊將更容易組裝模塊化軟件項目。他們可以只專注于分配的較小任務。

    歷史

    編輯

    模塊化編程以子系統(尤其是I / O)和軟件庫的形式出現,可以追溯到早期的軟件系統,在該系統中,它被用于代碼的重用。1960年代末和1970年xxx發的以模塊化為目標的模塊化編程本身,作為結構化編程概念(1960年代)的大規模模擬。術語“模塊化編程”至少可以追溯到1968年7月在信息和系統研究所由拉里·康斯坦丁組織的全國模塊化編程研討會上。

    模塊未包含在ALGOL 68(1968)的原始規范中,但作為早期實現的擴展(ALGOL 68-R(1970)和ALGOL 68C(1970))包括在內,并于隨后正式使用。從一開始就為模塊化編程設計的xxx種語言是Niklaus Wirth的短暫的Modula(1975)。另一種早期的模塊化語言是Xerox PARC的Mesa(1970年代),Wirth借鑒了Mesa以及其后續版本Modula-2(1978)中的原始Modula,該語言尤其通過其后續版本Modula-3影響了后來的語言。(1980年代)。Modula使用點限定名稱(例如從模塊M.a引用對象)與訪問記錄字段的表示法(以及類似的對象屬性或方法)相吻合,并且在C#,Dart,Go, Java和Python等。模塊化編程從1980年xxx始普及:最初的Pascal語言(1970年)不包含模塊,但后來的版本,尤其是UCSD Pascal(1978年)和Turbo Pascal(1983年),就像Pascal一樣以“單元”的形式包含了它們。 -影響Ada(1980)。擴展的Pascal ISO 10206:1990標準在其模塊化支持方面與Modula2保持了緊密聯系。標準ML(1984)aM擁有最完整的模塊系統之一,包括在模塊之間映射的函子。

    在1980年代和1990年代,尤其是由于C ++和Java的流行,模塊化編程被面向對象的編程所遮蓋,并且常常與之混淆。例如,C語言家族在C ++中支持對象和類(最初是C with Classes,1980)和Objective-C(1983),僅支持30年或更長時間的模塊。Java(1995)支持包形式的模塊,盡管代碼組織的主要單位是類。但是,Python(1991)從一開始就突出使用模塊和對象,使用模塊作為代碼組織的主要單位,使用“包”作為較大的單位。和Perl 5的(1994)包括用于兩個模塊和對象的支持,其中模件可從一個廣闊的數組CPAN(1993)。

    模塊化編程現已普及,并且幾乎可以使用1990年代以來開發的所有主要語言。模塊的相對重要性在不同的語言之間有所不同,并且在基于類的面向對象的語言中,與類作為組織和封裝的單位仍然存在重疊和混淆,但是它們作為不同的概念都已得到很好的確立。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/109683/

    (13)
    詞條目錄
    1. 模塊化編程
    2. 關鍵方面
    3. 歷史

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久