系統架構師

當前位置 /首頁/職業師/系統架構師/列表

web系統分層架構設計

企業中許多WEB資訊管理系統同屬於針對關係型資料庫的,並且有相當一部分功能需求是重複的。比如組織結構管理、通知公告發布,甚至是訪問許可權控制等。出於對軟體複用原則和開發效率等方面的考慮,可以採用相同的系統框架,再進行具有各自業務特點的功能開發,這樣可以避免重複工作,保證專案進度。

web系統分層架構設計

  1 框架分析

1.1 框架

框架(Framework)是整個或部分系統的可重用設計,表現為一組抽象構件及構件例項間互動的方法;另一種定義認為,框架是可被應用開發者定製的應用骨架。前者是從應用方面而後者是從目的方面給出的定義。其具有以下的特點:

1)它是一個功能類的集合,類之間可以相互協作,為業務子系統提供服務。

2)它包含了具體類和抽象類,這些類定義了標準的介面、物件間的互動作用和系統的相關常量。

3)為了利用、自定義或擴充套件框架的服務,通常需要框架的使用者去定義已存在的框架類的子類。

4)框架中定義好的類只提供給使用者自定義的類呼叫,而從不呼叫使用者自己定義的類。

框架可分為白盒(White-Box)與黑盒(Black-Box)兩種框架。

基於繼承的框架被稱為白盒框架。所謂白盒即具備可視性,被繼承的父類的內部實現細節對子類而言都是可知的。利用白盒框架的應用開發者通過衍生子類或重寫父類的成員方法來開發系統。子類的實現很大程度上依賴於父類的實現,這種依賴性限制了重用的靈活性和完全性。但解決這種侷限性的方法可以是隻繼承抽象父類,也就是基類,因為抽象類基本上不提供具體的實現。白盒框架是一個程式骨架,而使用者衍生出的子類是這個骨架上的附屬品。

基於物件構件組裝的框架就是黑盒框架。應用開發者通過整理、組裝物件來獲得系統的實現。使用者只須瞭解構件的外部介面,無須瞭解內部的具體實現。另外,組裝比繼承更為靈活,它能動態地改變,繼承只是一個靜態編譯時的概念。

在理想情況下,任何所需的功能都可通過組裝已有的構件得到。事實上,可獲得的構件遠遠不能滿足需求,有時通過繼承獲得新的構件比利用已有構件組裝新構件更容易,因此白盒和黑盒將同時應用於系統的開發中。不過白盒框架趨向於向黑盒框架發展,黑盒框架也是系統開發希望達到的理想目標。

1.2 分層架構

分層架構是一個層次結構,每一層為上層服務,並作為下層的客戶。在一些分層系統中,除了一些精心挑選的'輸出函式外,內部的層只對相鄰的層可見。這樣的系統中,構件在一些層實現了虛擬機器(對實現過程的不可見)。連線件通過決定層間如何互動的協議來定義、拓撲約束,包括對相鄰層間互動的約束。

這種風格支援基於可增加抽象層的設計。允許將一個複雜問題分解成一個增量步驟序列的實現。由於每一層最多隻影響兩層,同時只要給相鄰層提供相同的介面,允許每層用不同的方法實現,為軟體複用提供了強大的支援。

我們經常提到的三層架構就屬於分層架構設計的一種。它是資訊管理系統最為常見的設計模式。總體思想就是將整個業務應用劃分為:資料訪問層(DAL)、業務邏輯層(BLL)、使用者介面層(UI)。層與層的職責沒有重疊,上層只能依賴於下層。這樣的系統,結構非常明確,可以很容易的用新的實現來替換原有層次的實現,大大增加了系統的可複用性,降低了後期的維護成本。

  2 實現目標

鑑於目前遇到的需求基本都屬於中低等規模的資訊管理系統開發,綜合考慮開發難度、可維護性、可擴充套件性等因素,開發一個介於白盒(類複用)與黑盒(功能複用)之間的基於分層架構設計模式的框架較為適宜。框架主要實現以下幾個目標:

1)實現類、元件、程式碼甚至設計的最大化重用。

2)框架結構儘可能合理、簡單,符合架構設計的單一職責原則和單向呼叫原則,即框架各層的職責單一,只能上層依賴於下層,不能上下層互相依賴。

3)框架要有靈活的擴充套件性,可滿足二次開發要求。但是在進行二次開發時,對框架只能擴充套件不能修改,即滿足軟體架構設計思想中的開放-關閉原則。

4)框架具備一定的配置開發能力,部分通用的功能可適用大部分資訊管理系統。並且在針對不同的儲存裝置時,通過修改配置而不需要修改程式碼就可以適應新的執行環境。

以上是一種基於分層架構的WEB系統框架的分析、設計與實現的全過程。該框架層次分明、結構簡單,對每層都有一個抽象,派生類強制實現規定的抽象方法,規範了編碼過程,提高了框架的可維護性。根據資訊管理系統的共同需求,提供了部分通用的框架功能。所以,不論在白盒框架部分還是在功能方面都具有一定的可複用性。

TAG標籤:分層 架構設計 系統 web #