www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 通信技術 > 通信技術
[導讀]1 引言 傳統(tǒng)軟件應用系統(tǒng)一般采用3層應用框架,業(yè)務邏輯層代碼中混雜各種數(shù)據(jù)庫調(diào)用語句,嚴重影響系統(tǒng)的可擴展性、可復用性和可維護性。 設計可復用的面向?qū)ο筌浖泻芏嚯y點。如找到相關對象;以適當?shù)牧?

 引言
    傳統(tǒng)軟件應用系統(tǒng)一般采用3層應用框架,業(yè)務邏輯層代碼中混雜各種數(shù)據(jù)庫調(diào)用語句,嚴重影響系統(tǒng)的可擴展性、可復用性和可維護性。
    設計可復用的面向?qū)ο筌浖泻芏嚯y點。如找到相關對象;以適當?shù)牧6葘⑵錃w類;定義類的接口和繼承層次,建立對象之間的基本關系;要對現(xiàn)在的問題有針對性,同時對將來的問題和需求也有足夠的通用性;避免重復設計或盡可能少做重復設計等。
    采用設計模式可有效解決這些難點,從而簡單方便地復用成功的設計和體系結(jié)構(gòu)。通過采用設計模式,能大大提高系統(tǒng)的可擴展性、可重用性和可維護性,并能降低系統(tǒng)開發(fā)難度,提高開發(fā)效率。設計模式已成為當前乃至今后軟件工程研究領域的一大熱點,并被認為是繼OOP技術之后的又一重大突破。
    首先簡要介紹設計模式,然后分析傳統(tǒng)3層架構(gòu)開發(fā)模型的優(yōu)缺點,充分考慮系統(tǒng)的可擴展性,可復用性,可維護性,從軟件設計模式角度提出改進方法,并給出研究實例。

2 設計模式
    每一個模式描述一個在不斷重復發(fā)生的問題,以及該問題解決方案的核心。這樣就能多次使用該方案而不必重復勞動。設計模式是面向?qū)ο筌浖O計過程中記錄的知識和經(jīng)驗,用一系列類結(jié)構(gòu)和對象來具體描述其含義。設計模式通過復用面向?qū)ο笤O計的解決方案,從而更加簡單方便地復用成功的設計和體系結(jié)構(gòu),將已證實的技術表述成設計模式也會使新系統(tǒng)開發(fā)者更加容易理解其設計思路。設計模式可幫助設計者做出有利于系統(tǒng)復用選擇,避免損害系統(tǒng)復用性,通過提供一個顯式類和對象作用關系及它們之間潛在聯(lián)系說明規(guī)范,設計模式甚至能夠提高已有系統(tǒng)的文檔管理和系統(tǒng)維護的有效性。設計模式確定所包含的類和實例及其角色、協(xié)作方式、職責分配。通過刻畫部件靜態(tài)和動態(tài)結(jié)構(gòu)及其之間的合作關系,設計模式成功應用于解決商業(yè)數(shù)據(jù)處理、電子通信、圖形用戶界面、數(shù)據(jù)庫、分布式通信軟件等軟件構(gòu)造中。


3 傳統(tǒng)的3層架構(gòu)開發(fā)模型
    目前,在Internet/Intranet環(huán)境中,企業(yè)級的應用軟件系統(tǒng)大多采用3層應用框架:表示層、業(yè)務邏輯層和數(shù)據(jù)層(圖1)。在這種層次結(jié)構(gòu)的軟件框架中。每層為其上一層提供服務(服務提供者),并作為其下一層的客戶(服務消費者),內(nèi)部的層只對相鄰的層可見,從而構(gòu)成一個具有可移植性、可擴充性的兼容平臺。

    但也存在顯著的缺點:在開發(fā)多個應用軟件系統(tǒng)的過程中,不同的應用軟件系統(tǒng)之間耦合度不是很好;層與層之間代碼混亂;訪問數(shù)據(jù)庫的方式不同,如JDBC, Hibernate或JDO,因此,在各種數(shù)據(jù)庫之間移植就需修改很多地方,業(yè)務邏輯層也需跟著修改,不能采用一致的編程模型,系統(tǒng)的可復用性、可維護性不是很理想。

4 改進的4層架構(gòu)開發(fā)模型
    基于上述分析,為提高軟件的開發(fā)效率,這里從設計模式角度出發(fā),提出把業(yè)務邏輯層進一步分出一層,單獨形成一個數(shù)據(jù)接口層。數(shù)據(jù)接口層屏蔽各種底層數(shù)據(jù)庫之間的差異,負責與底層數(shù)據(jù)庫之間的連接。形成4層軟件體系結(jié)構(gòu)框架,從上到下依次是:表示層、業(yè)務邏輯層、數(shù)據(jù)接口層、數(shù)據(jù)層,如圖2所示。表示層是應用軟件進行人機交互的接口;業(yè)務邏輯層負責處理用戶的業(yè)務請求;數(shù)據(jù)接口層負責與底層數(shù)據(jù)庫之間的交互;數(shù)據(jù)層則負責存儲數(shù)據(jù)。
4.1 DAO設計模式
    數(shù)據(jù)接口層采用數(shù)據(jù)訪問對象DAO(Data Access Ob-iect)模式。該模式實際是Adapter模式和Bridge模式的混合體,DAO對象提供數(shù)據(jù)庫訪問的基本操作,如增加、刪除、修改、查詢等。 DAO層以面向?qū)ο蟮姆绞椒庋b數(shù)據(jù)庫操作。DAO組件完全專注于數(shù)據(jù)訪問實現(xiàn),業(yè)務層代碼無須關心底層數(shù)據(jù)庫訪問的實現(xiàn),從而降低了層之間的耦合。
    DAO設計模式的優(yōu)點:
    (1)DAO模式抽象出數(shù)據(jù)訪問方式,業(yè)務邏輯層訪問數(shù)據(jù)源時完全感覺不到數(shù)據(jù)源的存在。軟件工廠中有一條很重要的法則:一個對象對其他對象的了解越少越好,了解越少就意味著依賴越少,可復用性越高。
    (2)DAO將數(shù)據(jù)訪問集中在獨立的一層,因為所有的數(shù)據(jù)訪問都由DAO代理,這層獨立的DAO將數(shù)據(jù)訪問的實現(xiàn)和系統(tǒng)的其余部分剝離,將數(shù)據(jù)訪問集中,使得系統(tǒng)更具可維護性。
    (3)DAO降低了業(yè)務邏輯層的復雜度。DAO管理復雜的數(shù)據(jù)訪問,從而簡化了業(yè)務邏輯層。所有與數(shù)據(jù)訪問的實現(xiàn)有關的代碼(例如SOL語言等)都不寫在業(yè)務邏輯層里,業(yè)務邏輯層可集中處理業(yè)務邏輯,提高了代碼的可讀性和生產(chǎn)率。
    (4)DAO有助于提升系統(tǒng)的可移植性。DAO模式通過將數(shù)據(jù)訪問劃分為抽象層和實現(xiàn)層,分離數(shù)據(jù)使用和數(shù)據(jù)訪問的實現(xiàn)細節(jié)。這意味著業(yè)務層與數(shù)據(jù)訪問的底層細節(jié)無關,也就是說,可以在保持上層機構(gòu)不變的情況下,通過切換底層實現(xiàn)來修改數(shù)據(jù)訪問的具體機制,提高了系統(tǒng)的可復用性。
    (5)DAO組件依賴于數(shù)據(jù)庫系統(tǒng),提供數(shù)據(jù)庫訪問接口,只要數(shù)據(jù)庫沒有重構(gòu),DAO層通常無須改寫。DAO層透明地分離數(shù)據(jù)庫與業(yè)務邏輯層,業(yè)務邏輯層專注于業(yè)務邏輯的實現(xiàn),而無須關心持久層訪問的實現(xiàn)。
    (6)DAO模式的進一步改良。由于DAO層已實現(xiàn)所有的數(shù)據(jù)訪問,業(yè)務邏輯層只需調(diào)用DAO接口,因此業(yè)務邏輯層要使用Facade模式包裝DAO。為實現(xiàn)跨數(shù)據(jù)庫平臺移植,支持不同數(shù)據(jù)訪問機制之間的可配置切換,需在DAO層引入Factorv模式、Proxy模式和Strategy模式,則可方便地在不同數(shù)據(jù)存儲方式間切換。然而,采用DAO模式,系統(tǒng)在請求數(shù)據(jù)端和數(shù)據(jù)服務端之間增加一層,增加了系統(tǒng)的復雜度;新增加的一層需要額外的設計與實現(xiàn),增加了工作量;還需引入工廠甚至抽象工廠,增加了設計的復雜度??偟膩碚f,DAO將數(shù)據(jù)持久層與業(yè)務邏輯層分離,提高了軟件的可擴展性,可維護性和可復用性。
4.2 DAO實現(xiàn)
    DAO對象也是。Java對象,只是它們提供數(shù)據(jù)庫訪問的能力。數(shù)據(jù)庫的訪問可歸納為創(chuàng)建(Create)、查詢(Read)、更新(Update)、刪除(Delete)4種基本操作,即常說的CRUD操作。DAO模式通常與工廠模式一起使用,建議面向接口編程,為每個DAO實現(xiàn)類編寫接口,DAO調(diào)用者使用接口,而不是具體的實現(xiàn)類。當然,DAO對象需要值對象來傳值,值對象就是普通的JavaBean。以下是一個DAO的示例。圖3為數(shù)據(jù)訪問對象設計模式的參與對象和它們之間的調(diào)用關系。圖4為該示例的詳細類圖。

    該DAO示例包含文件:DAO接口類、DAO接口實現(xiàn)類、DaoFactory類、PersonBean類、DBConn類、Test類。接口里定義 DAO對象必須提供方法,PersonBean是一個普通的JavaBean,DAO對象的實現(xiàn)類為接口的全部方法提供實現(xiàn)。程序中還用到工具類 DBConn,該工具類主要用于獲得數(shù)據(jù)庫連接,通過連接獲得Statement對象,并提供釋放Statement對象、關閉連接的方法。
    程序?qū)BConn對象設計成單態(tài)模式。至此,完整的DAO實例編寫完成。程序主要提供3個組件:傳值的JavaBean類,DAO對象的接口,DAO對象的實現(xiàn)類,實現(xiàn)類包括所用的工具類。DAO模式通常與工廠模式相結(jié)合,DAO工廠負責產(chǎn)生DAO實例。兩者結(jié)合可更好地實現(xiàn)業(yè)務組件與持久層組件的解耦。業(yè)務組件只需獲取DAO工廠實例,然后由DAO工廠實例負責產(chǎn)生DAO組件。業(yè)務組件則面向DAO接口編程,無須關心DAO的具體實現(xiàn)。

5 結(jié)束語
    分析傳統(tǒng)3層軟件體系結(jié)構(gòu)的優(yōu)缺點,從軟件模式角度出發(fā),對其進行改進,提出4層開發(fā)模型,提高了系統(tǒng)的可擴展性、可復用性、可維護性,并給出一個具體應用實例實現(xiàn)DAO設計模式。

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風 ...

關鍵字: 溫度 BSP 東風 大眾

廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關系的思考,同時也塑造著人與空間的新型連接...

關鍵字: 溫度 BSP 智能化 進程

上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預告。今年前三季度,公司預計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預計為1.73億...

關鍵字: 電子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術中心"認定。 北京市企業(yè)技...

關鍵字: BSP ARMA COM 代碼

北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...

關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...

關鍵字: 數(shù)字化 BSP 供應鏈 控制

東京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...

關鍵字: 溫控 精密儀器 半導體制造 BSP

廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術企業(yè)云集,展出的智能產(chǎn)品超過140,...

關鍵字: 中國智造 BSP 手機 CAN

要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...

關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車

南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學者共同探討了在形勢依然嚴峻的當下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...

關鍵字: LINK AI BSP 智能家電

通信技術

120595 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉