軟件體系架構


       我認為軟件的體系架構主要是軟件的子系統以及子系統間的通信,還有系統的全局控制方法等。下面是幾種現在比較流行的阮籍愛你體系結構的設計思路。

                                              1  倉庫體系結構

    在倉庫體系結構(RepositoryArchitecture)中,數據的集中地就好像一個倉庫,這里數據存放的地方就是數據庫。系統的每一個子系統都可以通過控制流加權限來訪問倉庫或者是修改倉庫。由於子系統完全依賴於倉庫,導致二者之間的耦合度很高,但是倉庫管理系統由於它的倉庫是獨立的,所以此體系可以不斷變化,靈活度很高。

                                             2   MVC體系結構

     在模型/視圖/控制器體系結構(Model ViewControl Architecture,MVC Architecture)中,我認為簡單的講就是傳統的輸入、輸出、處理三個過程,因為MVC體系結構將倉庫系統中的子系統分為了三個部分,分別是模型子系統、視圖子系統、控制子系統。其中模型子系統負責維護和管理系統的數據結構和數據信息,相當於輸入。視圖子系統負責把系統處理之后的數據信息顯示給用戶,相當於輸出。控制子系統則負責管理控制對象,相當於處理。MVC更多用於交互式的程式開發。

                                            3  客戶/服務器(C/S)體系結構

     在客戶/服務器(Client/ServerArchitecture)體系結構中有兩個大的子系統一個是服務器,還有一個是客戶端。兩個子系統之間通過遠程調用和控制來實現交互,在此體系結構中,二者的控制流都是比較獨立的。客戶端負責接收來自用戶的輸入,檢查,處理。服務器負責執行事務,保證數據的完整性。之所以使用這個體系結構式因為支持分布式開發,單個客戶可以訪問數千個不同的服務器的數據。當個服務器數據也可以供很多客戶端使用。所以當客戶和服務器之間的關系式多對多時,尅有效的提高資源的利用效率和共享程度。當然此體系結構也有很多限制,例如二層結構示意局域網為中心得,很難擴展至大的廣域網當中。而且安全性也不好,客戶端可以直接訪問數據庫服務器。此后又出現了三層C/S結構。它將整個系統分為功能層、表示層、數據層。表示層負責應用程序與客戶的接口操作和對話,只負責接收,不提供處理。功能層則負責對用戶提出的業務進行處理。數據層就是數據庫管理系統(ODBC),負責管理對數據庫數據的讀寫。三層在二層的基礎上進行了明確的分工,個層之間通過接口來實現調用。我們可以很簡單的明白三層比二層的靈活性更高,安全性更好。

                                               4   B/S體系結構

  B/S結構即Browser/Server(瀏覽器/服務器)結構,隨着Internet技術的迅速發展,用戶可以通過WWW瀏覽器來實現需求提出。軟件的主要的組成全都部署在服務器的一方,客戶通過瀏覽器訪問服務器,並下載或利用一些組件實現客戶端的交互訪問。所用的技術主流的有Java的J2EE和基於DCOM的.NET.技術。與C/S相比較B/S的應用面更廣,重用性更好,維護也比較簡單可是安全性不如C/S,因為B/S是通過瀏覽器來實現用戶界面的,所以面臨的客戶也不知道,而且這些客戶可以直接訪問數據庫。

                                               5  對等體系結構

    對等體體系結構(Peer-to-Peer Architecture)中,每一個對等體都是一個子系統,他們的地位和結構都是相似的,既可以作為客戶也可以作為服務器,即每個子系統既可以請求服務,也可以提供服務,而且每個對等體之間都是相對獨立的,通過接口來實現交互。由於對等體體系結構的每個子系統都相當於一個客戶機和一個服務器的集成體,這樣靈活性更高,可是這樣對等體之間的交互會更復雜,控制流更復雜。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com