- 相關(guān)推薦
web系統(tǒng)分層架構(gòu)設(shè)計
企業(yè)中許多WEB信息管理系統(tǒng)同屬于針對關(guān)系型數(shù)據(jù)庫的,并且有相當(dāng)一部分功能需求是重復(fù)的。比如組織結(jié)構(gòu)管理、通知公告發(fā)布,甚至是訪問權(quán)限控制等。出于對軟件復(fù)用原則和開發(fā)效率等方面的考慮,可以采用相同的系統(tǒng)框架,再進(jìn)行具有各自業(yè)務(wù)特點的功能開發(fā),這樣可以避免重復(fù)工作,保證項目進(jìn)度。
1 框架分析
1.1 框架
框架(Framework)是整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實例間交互的方法;另一種定義認(rèn)為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前者是從應(yīng)用方面而后者是從目的方面給出的定義。其具有以下的特點:
1)它是一個功能類的集合,類之間可以相互協(xié)作,為業(yè)務(wù)子系統(tǒng)提供服務(wù)。
2)它包含了具體類和抽象類,這些類定義了標(biāo)準(zhǔn)的接口、對象間的交互作用和系統(tǒng)的相關(guān)常量。
3)為了利用、自定義或擴(kuò)展框架的服務(wù),通常需要框架的使用者去定義已存在的框架類的子類。
4)框架中定義好的類只提供給用戶自定義的類調(diào)用,而從不調(diào)用用戶自己定義的類。
框架可分為白盒(White-Box)與黑盒(Black-Box)兩種框架。
基于繼承的框架被稱為白盒框架。所謂白盒即具備可視性,被繼承的父類的內(nèi)部實現(xiàn)細(xì)節(jié)對子類而言都是可知的。利用白盒框架的應(yīng)用開發(fā)者通過衍生子類或重寫父類的成員方法來開發(fā)系統(tǒng)。子類的實現(xiàn)很大程度上依賴于父類的實現(xiàn),這種依賴性限制了重用的靈活性和完全性。但解決這種局限性的方法可以是只繼承抽象父類,也就是基類,因為抽象類基本上不提供具體的實現(xiàn)。白盒框架是一個程序骨架,而用戶衍生出的子類是這個骨架上的附屬品。
基于對象構(gòu)件組裝的框架就是黑盒框架。應(yīng)用開發(fā)者通過整理、組裝對象來獲得系統(tǒng)的實現(xiàn)。用戶只須了解構(gòu)件的外部接口,無須了解內(nèi)部的具體實現(xiàn)。另外,組裝比繼承更為靈活,它能動態(tài)地改變,繼承只是一個靜態(tài)編譯時的概念。
在理想情況下,任何所需的功能都可通過組裝已有的構(gòu)件得到。事實上,可獲得的構(gòu)件遠(yuǎn)遠(yuǎn)不能滿足需求,有時通過繼承獲得新的構(gòu)件比利用已有構(gòu)件組裝新構(gòu)件更容易,因此白盒和黑盒將同時應(yīng)用于系統(tǒng)的開發(fā)中。不過白盒框架趨向于向黑盒框架發(fā)展,黑盒框架也是系統(tǒng)開發(fā)希望達(dá)到的理想目標(biāo)。
1.2 分層架構(gòu)
分層架構(gòu)是一個層次結(jié)構(gòu),每一層為上層服務(wù),并作為下層的客戶。在一些分層系統(tǒng)中,除了一些精心挑選的輸出函數(shù)外,內(nèi)部的層只對相鄰的層可見。這樣的系統(tǒng)中,構(gòu)件在一些層實現(xiàn)了虛擬機(jī)(對實現(xiàn)過程的不可見)。連接件通過決定層間如何交互的協(xié)議來定義、拓?fù)浼s束,包括對相鄰層間交互的約束。
這種風(fēng)格支持基于可增加抽象層的設(shè)計。允許將一個復(fù)雜問題分解成一個增量步驟序列的實現(xiàn)。由于每一層最多只影響兩層,同時只要給相鄰層提供相同的接口,允許每層用不同的方法實現(xiàn),為軟件復(fù)用提供了強(qiáng)大的支持。
我們經(jīng)常提到的三層架構(gòu)就屬于分層架構(gòu)設(shè)計的一種。它是信息管理系統(tǒng)最為常見的設(shè)計模式?傮w思想就是將整個業(yè)務(wù)應(yīng)用劃分為:數(shù)據(jù)訪問層(DAL)、業(yè)務(wù)邏輯層(BLL)、用戶界面層(UI)。層與層的職責(zé)沒有重疊,上層只能依賴于下層。這樣的系統(tǒng),結(jié)構(gòu)非常明確,可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn),大大增加了系統(tǒng)的可復(fù)用性,降低了后期的維護(hù)成本。
2 實現(xiàn)目標(biāo)
鑒于目前遇到的需求基本都屬于中低等規(guī)模的信息管理系統(tǒng)開發(fā),綜合考慮開發(fā)難度、可維護(hù)性、可擴(kuò)展性等因素,開發(fā)一個介于白盒(類復(fù)用)與黑盒(功能復(fù)用)之間的基于分層架構(gòu)設(shè)計模式的框架較為適宜。框架主要實現(xiàn)以下幾個目標(biāo):
1)實現(xiàn)類、組件、代碼甚至設(shè)計的最大化重用。
2)框架結(jié)構(gòu)盡可能合理、簡單,符合架構(gòu)設(shè)計的單一職責(zé)原則和單向調(diào)用原則,即框架各層的職責(zé)單一,只能上層依賴于下層,不能上下層互相依賴。
3)框架要有靈活的擴(kuò)展性,可滿足二次開發(fā)要求。但是在進(jìn)行二次開發(fā)時,對框架只能擴(kuò)展不能修改,即滿足軟件架構(gòu)設(shè)計思想中的開放-關(guān)閉原則。
4)框架具備一定的配置開發(fā)能力,部分通用的功能可適用大部分信息管理系統(tǒng)。并且在針對不同的存儲設(shè)備時,通過修改配置而不需要修改代碼就可以適應(yīng)新的運(yùn)行環(huán)境。
以上是一種基于分層架構(gòu)的WEB系統(tǒng)框架的分析、設(shè)計與實現(xiàn)的全過程。該框架層次分明、結(jié)構(gòu)簡單,對每層都有一個抽象,派生類強(qiáng)制實現(xiàn)規(guī)定的抽象方法,規(guī)范了編碼過程,提高了框架的可維護(hù)性。根據(jù)信息管理系統(tǒng)的共同需求,提供了部分通用的框架功能。所以,不論在白盒框架部分還是在功能方面都具有一定的可復(fù)用性。
【web系統(tǒng)分層架構(gòu)設(shè)計】相關(guān)文章:
如何成為優(yōu)秀的系統(tǒng)架構(gòu)師08-30
游戲的任務(wù)系統(tǒng)設(shè)計思路匯總12-16
web前端設(shè)計師的主要職責(zé)說明(通用20篇)11-02
Web數(shù)據(jù)挖掘技術(shù)探析論文04-07
ERP系統(tǒng)物料清單設(shè)計小技巧04-04
web前端實訓(xùn)總結(jié)(通用6篇)05-24
web前端的自我介紹(通用9篇)03-04