班穎
(華北計算技術研究所,北京 100089)
分層技術在計算機軟件開發中的應用
班穎
(華北計算技術研究所,北京 100089)
當代計算機技術的不斷革新,推動了以其為載體的網絡技術的高速發展,計算機和互聯網以其獨特的優勢給人們日常生活帶來了極大的便利。與此同時,人們對計算機和互聯網的依賴性大大增加,這也相應的給計算機的應用提出了一些要求,計算機軟件系統也需要不斷地革新以滿足市場需求。逐漸增多的應用場景給軟件開發帶來了極大的挑戰。為了解決此類問題,計算機軟件開發分層技術應運而生,這項技術用以提升計算機軟件研發速度、縮短研發周期、確保軟件質量、減少整個流程的工作量。立足于實際應用場景,研討了分層技術在計算機軟件開發中的應用,同時,對分層技術的發展前景進行了展望,以期為計算機從業人員帶來一些啟示。
分層技術;計算機;軟件應用;軟件系統
在當代科學技術迅猛發展的同時,國內的計算機行業也迎來了發展的黃金期,帶有不同功能的計算機軟件系統以幾何形式遞增。在技術上,軟件開發技術和管理水平也在向世界最前沿靠近。經過長時間的技術積累,在計算機軟件開發的平臺上,分層技術誕生了,且在實際運用過程中還在經歷不斷的優化,隨著層數的增加,性能也越來越優良。目前,網絡環境已然不像以往單一,各種功能的出現使得技術更加多樣,環境更加復雜,這也使得單一軟件系統已經不能滿足當前的需求。為了迎合市場需要,就必須要在效率上進行提升,將成本降至最低,使分層技術物盡其用。值得注意的是,分層技術旨在搭建一個架構,然后在其中實現軟件系統的研發目標。
在此提到的分層技術,與我們之前所認識的物理分層是不一樣的,對于計算機軟件系統而言,指的是對軟件系統實行分層處理,這是一個抽象的概念。具體做法為:把聚集在一起的業務邏輯、數據系統、操作界面等成分進行概念層的劃分,同時,具體問題具體分析,對每個抽象概念層進行分類處理,使得他們之間能進行信息交互,且不能影響彼此的工作。當兩個接口條件滿足時,則相互之間都能夠進行即時修改和更換。各概念層中都備有一套高度內聚的解決方案,這使得每個層不需要了解別的層的內部情況,僅僅向上、下層輸送所需的數據和操作,就能夠獲得對方的答復和所需數據,同時,可以開展接下來的操作。
在計算機層面上的研發技術框架就本質上而言就是一種軟件開發框架,在計算機技術興起之初,當時的軟件系統的應用有一個硬性的指標,即要想運行,就只能在本地機器上運行。此外,當時的軟件系統無論是在結構上,還是在邏輯上都不復雜,多數為單層結構,這就意味著數據、操作、業務邏輯都融合在一個系統中。軟件系統發展到目前,規模越來越大,要求也越來越高,不一樣的邏輯部分要隔離開來,單獨組成一個抽象層,以此來優化產品質量,適應市場需求。
雙層技術中經典的應用當屬軟件框架中的文檔-視圖模型,微軟公司在進行C++開發時便運用了這種模型。文檔指的是軟件系統中存儲數據的部分,而視圖則是一種表現數據的形式,一個文檔能夠反映多個視圖。此時,如果修改了視圖中的信息,則文檔中相應的信息也會被改變,之后文檔會與其他視圖進行信息交互,使其他視圖中的信息也會得到同步修改。一個文檔可以有多種表現形式。這種模型不但給使用者帶來了便利,且單純就研發角度看,這種方式的效率是相當高的。對文檔類和視圖類進行分離,各自處理其對應的文件,這就大大地縮短了處理時間。
除此之外,雙層技術還有一個大的用途,即客戶端-服務器模式不僅僅是使用者信息交流的地點,也是展示數據的關鍵節點,不同的客戶端借助專用網絡與多個服務器進行信息交互。此時,服務器一端被看作服務節點,它的主要工作即是收集每個客戶端的請求,同時進行數據反饋,其經典應用就是客戶端網絡游戲這種類型。這種方式的好處之一是可以極大降低客戶端的計算需求。此時,計算都是由服務器來完成的,服務器在運行出結果之后,會以最快的速度傳輸到客戶端。
不可不提到的是,這種雙層模式也有一些硬件要求,比如對網絡帶寬就有一定的限制條件,與此同時,客戶端變多的情況下,服務器就會超負荷運行。為了解決這種問題,研發人員就開發出了三層技術。
該技術也是在前者基礎上研發的,即其基本原理與雙層技術基本相同。在雙層技術中,服務器端的計算壓力是很大的,為了減輕這種計算壓力,三層技術將服務器端又分了兩層,即界面層-業務邏輯層-數據層三層。業務邏輯層的設置就是為了緩解客戶端和服務器端的計算壓力。此外,還包括處理系統剩余計算的功能,不僅如此,它還有一個連接功能,使得界面層與數據層能有一個較好的信息交互。界面層的作用就是管理用戶交互界面,而數據層的存在僅僅是為了起存取數據之用。
隨著應用環境的復雜化,三層技術已然不能滿足生產生活的需要,層數又需要增加。與前者類似,四層技術的改變就是加了封裝層,這個封裝層的作用就是對計算任務進行分類,然后分配給相應的處理系統。形成存儲層-業務邏輯層-數據層-Web層四層結構。計算任務較小時會由數據層直接處理,如果計算任務十分繁重,則請求就會發至業務邏輯層來進行處理。這樣做的好處就是能夠實現資源的合理利用,按需分配,提升效率。就目前而言,三層技術還是占據著市場的主導,然而,在云計算和移動互聯網技術推動下,商業計算需求必然會急速增長,四層技術就必然會被重點使用。
在可以預見的未來,云計算必然是主流發展趨勢,此時,兩大要素網絡和云都將發揮重要的作用。在今后云端將具有計算功能,處理所需的一切數據,客戶端的核心就是一個瀏覽器,系統將利用它來完成計算任務。為了使得計算需求可以科學地分配到各個位置,對于系統的分層處理就顯得不可或缺了,按需分配,在各種不同的云中節點進行相關計算。
[1]張智慧.多層模型在嵌入式軟件開發中的應用研究[J].計算機時代,2017(04).
[2]楊柯.分層技術在計算機軟件開發中的應用效果分析[J].軟件,2013(10).
[3]洪新軍.插件技術、分層技術應用于計算機軟件技術中的價值探討[J].電腦編程技巧與維護,2016(02).
TP311.52
A
10.15913/j.cnki.kjycx.2018.01.159
2095-6835(2018)01-0159-02
〔編輯:張思楠〕