階段式伺服器模型

SEDA(staged event-driven architecture),也稱為階段式伺服器模型。這是一類軟體架構模型,它將複雜的、事件驅動的套用分解為一系列通過佇列連線的階段。

基本介紹

  • 中文名:階段式伺服器模型
  • 外文名:staged event-driven architecture
  • 性質:一類軟體架構模型
  • 領域:計算機
簡介,軟體架構,模組 (程式設計),代碼復用,

簡介

該模型避免了基於執行緒的並發模型所帶來的高負載問題,同時將事件與執行緒調度從套用邏輯中解耦。通過對每個佇列實施準入控制,使服務得以狀態良好地載入。當需求大於服務能力時,能夠防止資源過度使用。
SEDA 通過動態控制,自動地對運行時參數進行調優(例如每個階段的調度參數),並對負載進行管理(例如執行自適應減載)。它將服務分解為一系列階段也有利於模組化與代碼復用(例如為複雜的事件多驅動套用開發的調試工具)。

軟體架構

軟體體系結構是構建計算機軟體實踐的基礎。與建築師設定建築項目的設計原則和目標,作為繪圖員畫圖的基礎一樣,軟體架構師或者系統架構師陳述軟體架構以作為滿足不同客戶需求的實際系統設計方案的基礎。從和目的、主題、材料和結構的聯繫上來說,軟體架構可以和建築物的架構相比擬。一個軟體架構師需要有廣泛的軟體理論知識和相應的經驗來實施和管理軟體產品的高級設計。軟體架構師定義和設計軟體的模組化,模組之間的互動,用戶界面風格,對外接口方法,創新的設計特性,以及高層事物的對象操作、邏輯和流程。
軟體架構師與客戶商談概念上的事情,與經理商談廣泛的設計問題,與軟體工程師商談創新的結構特性,與程式設計師商談實現技巧,外觀和風格。
軟體架構是一個系統的草圖。軟體架構描述的對象是直接構成系統的抽象組件。各個組件之間的連線則明確和相對細緻地描述組件之間的通訊。在實現階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。在面向對象領域中,組件之間的連線通常用接口來實現。

模組 (程式設計)

軟體模組(Module)是一套一致而互相有緊密關連的軟體組織。它分別包含了程式數據結構兩部分。
現代軟體開發往往利用模組作合成的單位。
模組的接口表達了由該模組提供的功能和調用它時所需的元素。
模組是可能分開地被編寫的單位。這使他們可再用和允許廣泛人員同時協作、編寫及研究不同的模組。

代碼復用

代碼復用,也被稱作軟體復用。就是再利用已有的代碼,或者相關的知識去編寫新的代碼來構造軟體。
可復用的代碼以及相關的知識與需求文檔,設計,測試用例一樣都是軟體開發的組織內部所不可或缺的資產。事實上,最早為人所知的復用正是從代碼復用開始的。所謂的代碼復用,本質上就是對曾經編寫過的代碼的一部分甚至全部重新加以利用,從而構建新的程式。使用這種方法就可以將程式設計師從費時費力的重複勞動中解放出來。
程式庫是一種代碼復用的很好的形式。程式設計師可以創建內部抽象以便程式的部分代碼可被復用,或者直接創建一個自定義庫給自己使用。用於衡量代碼可復用程度的特性通常包括:模組化,低耦合,高內聚,數據封裝以及SOC
如果編寫代碼時要利用已有的代碼,則必須定義某種接口或者通信的方法。這通常包含了對子程式,對象,原型的引用或調用。
對於以某個已有程式的舊版本作為出發點來進行新版本的開發的做法也可被視為一種代碼復用。
還有一種做法也可被視為代碼復用。即直接從已有程式中將一段代碼拷貝出來並貼上到另一個地方作為新程式的一部分。但是這種做法往往會使得程式設計師最終陷入重複代碼過多的問題。
為了使代碼復用更加方便,更加迅速並且更加體系化,相關的研究者也進行了大量的研究。面向對象程式設計就是以此為目的而派生出來的方法。更加新一點的方法就是代碼自動生成,它會基於用戶設定的一系列參數來自動生成程式的代碼。與此類似的概念被稱之為元編程

相關詞條

熱門詞條

聯絡我們