《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 設計模式在業務邏輯層中的應用
設計模式在業務邏輯層中的應用
摘要: 每一個模式描述一個在不斷重復發生的問題,以及該問題解決方案的核心。這樣就能多次使用該方案而不必重復勞動。設計模式是面向對象軟件設計過程中記錄的知識和經驗,用一系列類結構和對象來具體描述其含義。設計模式通過復用面向對象設計的解決方案,從而更加簡單方便地復用成功的設計和體系結構,將已證實的技術表述成設計模式也會使新系統開發者更加容易理解其設計思路。設計模式可幫助設計者做出有利于系統復用選擇,避免損害系統復用性,通過提供一個顯式類和對象作用關系及它們之間潛在聯系說明規范,設計模式甚至能夠提高已有系統的文檔管理和
Abstract:
Key words :

1 引言

傳統軟件應用系統一般采用3層應用框架,業務邏輯層代碼中混雜各種數據庫" title="數據庫">數據庫調用語句,嚴重影響系統的可擴展性、可復用性和可維護性。

設計可復用的面向對象軟件有很多難點。如找到相關對象;以適當的粒度將其歸類;定義類的接口和繼承層次,建立對象之間的基本關系;要對現在的問題有針對性,同時對將來的問題和需求也有足夠的通用性;避免重復設計或盡可能少做重復設計等。

采用設計模式" title="設計模式">設計模式可有效解決這些難點,從而簡單方便地復用成功的設計和體系結構。通過采用設計模式,能大大提高系統的可擴展性、可重用性和可維護性,并能降低系統開發難度,提高開發效率。設計模式已成為當前乃至今后軟件工程研究領域的一大熱點,并被認為是繼OOP技術之后的又一重大突破。

首先簡要介紹設計模式,然后分析傳統3層架構開發模型的優缺點,充分考慮系統的可擴展性,可復用性,可維護性,從軟件設計模式角度提出改進方法,并給出研究實例。

2 設計模式

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

3 傳統的3層架構開發模型

目前,在Internet/Intranet環境中,企業級的應用軟件系統大多采用3層應用框架:表示層、業務邏輯層和數據層(圖1)。在這種層次結構的軟件框架中。每層為其上一層提供服務(服務提供者),并作為其下一層的客戶(服務消費者),內部的層只對相鄰的層可見,從而構成一個具有可移植性、可擴充性的兼容平臺。
 


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

4 改進的4層架構開發模型

基于上述分析,為提高軟件的開發效率,這里從設計模式角度出發,提出把業務邏輯層進一步分出一層,單獨形成一個數據接口層。數據接口層屏蔽各種底層數據庫之間的差異,負責與底層數據庫之間的連接。形成4層軟件體系結構框架,從上到下依次是:表示層、業務邏輯層、數據接口層、數據層,如圖2所示。表示層是應用軟件進行人機交互的接口;業務邏輯層負責處理用戶的業務請求;數據接口層負責與底層數據庫之間的交互;數據層則負責存儲數據。

4.1 DAO" title="DAO">DAO設計模式

數據接口層采用數據訪問對象DAO(Data Access Ob-iect)模式。該模式實際是Adapter模式和Bridge模式的混合體,DAO對象提供數據庫訪問的基本操作,如增加、刪除、修改、查詢等。 DAO層以面向對象的方式封裝數據庫操作。DAO組件完全專注于數據訪問實現,業務層代碼無須關心底層數據庫訪問的實現,從而降低了層之間的耦合。

DAO設計模式的優點:

(1)DAO模式抽象出數據訪問方式,業務邏輯層訪問數據源時完全感覺不到數據源的存在。軟件工廠中有一條很重要的法則:一個對象對其他對象的了解越少越好,了解越少就意味著依賴越少,可復用性越高。

(2)DAO將數據訪問集中在獨立的一層,因為所有的數據訪問都由DAO代理,這層獨立的DAO將數據訪問的實現和系統的其余部分剝離,將數據訪問集中,使得系統更具可維護性。

(3)DAO降低了業務邏輯層的復雜度。DAO管理復雜的數據訪問,從而簡化了業務邏輯層。所有與數據訪問的實現有關的代碼(例如SOL語言等)都不寫在業務邏輯層里,業務邏輯層可集中處理業務邏輯,提高了代碼的可讀性和生產率。

 (4)DAO有助于提升系統的可移植性。DAO模式通過將數據訪問劃分為抽象層和實現層,分離數據使用和數據訪問的實現細節。這意味著業務層與數據訪問的底層細節無關,也就是說,可以在保持上層機構不變的情況下,通過切換底層實現來修改數據訪問的具體機制,提高了系統的可復用性。

(5)DAO組件依賴于數據庫系統,提供數據庫訪問接口,只要數據庫沒有重構,DAO層通常無須改寫。DAO層透明地分離數據庫與業務邏輯層,業務邏輯層專注于業務邏輯的實現,而無須關心持久層訪問的實現。

(6)DAO模式的進一步改良。由于DAO層已實現所有的數據訪問,業務邏輯層只需調用DAO接口,因此業務邏輯層要使用Facade模式包裝DAO。為實現跨數據庫平臺移植,支持不同數據訪問機制之間的可配置切換,需在DAO層引入Factorv模式、Proxy模式和Strategy模式,則可方便地在不同數據存儲方式間切換。然而,采用DAO模式,系統在請求數據端和數據服務端之間增加一層,增加了系統的復雜度;新增加的一層需要額外的設計與實現,增加了工作量;還需引入工廠甚至抽象工廠,增加了設計的復雜度??偟膩碚f,DAO將數據持久層與業務邏輯層分離,提高了軟件的可擴展性,可維護性和可復用性。

4.2 DAO實現

DAO對象也是。Java對象,只是它們提供數據庫訪問的能力。數據庫的訪問可歸納為創建(Create)、查詢(Read)、更新(Update)、刪除(Delete)4種基本操作,即常說的CRUD操作。DAO模式通常與工廠模式一起使用,建議面向接口編程,為每個DAO實現類編寫接口,DAO調用者使用接口,而不是具體的實現類。當然,DAO對象需要值對象來傳值,值對象就是普通的JavaBean。以下是一個DAO的示例。圖3為數據訪問對象設計模式的參與對象和它們之間的調用關系。圖4為該示例的詳細類圖。

 

該DAO示例包含文件:DAO接口類、DAO接口實現類、DaoFactory類、PersonBean類、DBConn類、Test類。接口里定義 DAO對象必須提供方法,PersonBean是一個普通的JavaBean,DAO對象的實現類為接口的全部方法提供實現。程序中還用到工具類 DBConn,該工具類主要用于獲得數據庫連接,通過連接獲得Statement對象,并提供釋放Statement對象、關閉連接的方法。

程序將DBConn對象設計成單態模式。至此,完整的DAO實例編寫完成。程序主要提供3個組件:傳值的JavaBean類,DAO對象的接口,DAO對象的實現類,實現類包括所用的工具類。DAO模式通常與工廠模式相結合,DAO工廠負責產生DAO實例。兩者結合可更好地實現業務組件與持久層組件的解耦。業務組件只需獲取DAO工廠實例,然后由DAO工廠實例負責產生DAO組件。業務組件則面向DAO接口編程,無須關心DAO的具體實現。

5 結束語

分析傳統3層軟件體系結構的優缺點,從軟件模式角度出發,對其進行改進,提出4層開發模型,提高了系統的可擴展性、可復用性、可維護性,并給出一個具體應用實例實現DAO設計模式。
 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲在线视频观看| 欧美日韩综合久久| 国产精品www.| 亚洲国产清纯| 欧美中文字幕在线观看| 亚洲一区在线观看免费观看电影高清| 国产精品外国| 国产偷国产偷精品高清尤物| 国产精品区一区二区三| 欧美日韩中文另类| 国产精品视频精品视频| 99国内精品久久久久久久软件| 国产精品入口福利| 国产精品久久久久99| 久久精品国产亚洲a| 亚洲狠狠丁香婷婷综合久久久| 欧美精品少妇一区二区三区| 午夜电影亚洲| 欧美精品在线免费观看| 美日韩精品免费观看视频| 亚洲精品视频在线观看网站| 久久久亚洲影院你懂的| 欧美日韩日日夜夜| 国产一区二区三区四区老人| 国产日韩免费| 在线免费精品视频| 99热这里只有精品8| 国产精品色婷婷久久58| 欧美午夜激情小视频| 欧美日韩黄视频| 欧美母乳在线| 欧美日韩精品一区二区天天拍小说| 久久久噜噜噜久久中文字幕色伊伊| 男人的天堂亚洲在线| 欧美岛国在线观看| 国产一区二区日韩精品| 一本色道久久综合狠狠躁篇的优点| 国产精品日韩一区二区| 99国产精品国产精品毛片| 免费黄网站欧美| 亚洲日韩第九十九页| 含羞草久久爱69一区| 99re热这里只有精品视频| 国产精品爽爽ⅴa在线观看| 亚洲伦理网站| 欧美一区视频在线| 欧美日韩国产成人在线91| 欧美日韩国产一中文字不卡| 亚洲国产精品传媒在线观看| 欧美日韩亚洲系列| 欧美日韩国产影院| 最新国产精品拍自在线播放| 精品96久久久久久中文字幕无| 国产一区二区三区日韩欧美| 欧美婷婷六月丁香综合色| 欧美日韩日日骚| 免费视频亚洲| 亚洲精品视频二区| 久久精品亚洲| 欧美午夜a级限制福利片| 亚洲黄色成人网| 国产视频久久网| 久久青草福利网站| 欧美一区二区久久久| 亚洲国产精品久久| 韩日精品中文字幕| 国产欧美日韩精品一区| 亚洲美女av黄| 日韩一级精品| 久久青草久久| 两个人的视频www国产精品| 红桃视频一区| 伊人狠狠色丁香综合尤物| 国产精品男gay被猛男狂揉视频| 欧美激情视频在线免费观看 欧美视频免费一| 午夜精品视频在线观看一区二区| 亚洲最新在线视频| 欧美中文在线观看国产| 国产区精品在线观看| 极品少妇一区二区三区| 亚洲精品久久久久久久久| 美女精品在线观看| 欧美成人午夜影院| 免费观看亚洲视频大全| 美女脱光内衣内裤视频久久网站| 欧美日韩国产不卡在线看| 中文无字幕一区二区三区| 精品福利免费观看| 久久视频一区二区| 国产偷久久久精品专区| 午夜精品在线看| 亚洲一区三区视频在线观看| 欧美日韩调教| 欧美精品九九99久久| 亚洲日本一区二区| 亚洲精品国精品久久99热| 亚洲中字在线| 国产伦精品一区二区三区视频孕妇| 久久久精品动漫| 国产精品女同互慰在线看| 亚洲一卡二卡三卡四卡五卡| 亚洲精品欧洲| 国产一区二区三区久久精品| 国产一区二区主播在线| 欧美激情精品久久久久久黑人| 欧美日韩精品免费观看视频完整| 亚洲欧美一级二级三级| 亚洲乱码精品一二三四区日韩在线| 欧美精品少妇一区二区三区| 欧美精品在线观看| 一区二区三区亚洲| 一色屋精品视频在线看| 欧美一区二区日韩| 亚洲欧美日韩一区| 小处雏高清一区二区三区| 极品日韩av| 久久躁狠狠躁夜夜爽| 国产精品久久久久一区二区三区| 在线一区二区日韩| 久久爱www久久做| 亚洲精品一区二区三区四区高清| 欧美中文日韩| 国产精品美女一区二区在线观看| 久久资源av| 亚洲欧美自拍偷拍| 国产精品青草久久| 国产精品mm| 久久精品人人做人人综合| 狼人社综合社区| 国产区在线观看成人精品| 一区二区三区在线观看视频| 亚洲区国产区| 亚洲最新在线视频| 91久久国产综合久久91精品网站| 欧美性猛交99久久久久99按摩| 国产精品久久久久久久9999| 国产真实乱子伦精品视频| 欧美日韩一区在线观看| 亚洲欧美日韩久久精品| 海角社区69精品视频| 久久久精彩视频| 久久久女女女女999久久| 欧美有码视频| 国产亚洲欧美日韩日本| 亚洲欧美国产精品专区久久| 欧美日韩国产精品成人| 国产精品草莓在线免费观看| 亚洲精品免费在线观看| 久久阴道视频| 亚洲看片网站| 久久久久久久97| 亚洲一区二区黄色| 你懂的一区二区| 亚洲国产美女久久久久| **网站欧美大片在线观看| 亚洲精品国产精品久久清纯直播| 欧美一区二区高清在线观看| 国内精品国语自产拍在线观看| 午夜老司机精品| 亚洲一品av免费观看| 久久黄色级2电影| 欧美日韩欧美一区二区| 国产日韩一区在线| 亚洲视频每日更新| 亚洲女人天堂成人av在线| 午夜国产欧美理论在线播放| 欧美在线播放| 欧美成人午夜视频| 国产欧美一区二区精品性| 国产欧美日韩精品a在线观看| 欧美一区二区免费| 美女视频一区免费观看| 欧美激情精品久久久六区热门| 欧美精品自拍| 国产午夜精品麻豆| 美女91精品| 久久超碰97中文字幕| 欧美日韩视频免费播放| 欧美一区激情| 香蕉成人久久| 欧美激情2020午夜免费观看| 免费不卡在线视频| 国产日韩精品一区二区浪潮av| 日韩一级成人av| 国产美女精品人人做人人爽| 国产精品免费看片| 国产精品一区二区你懂的| 欧美sm视频| 国产乱子伦一区二区三区国色天香| 日韩一区二区精品| 精品成人一区| 国产性做久久久久久| 国内偷自视频区视频综合| 欧美日韩免费高清| 亚洲高清影视| 国产精品三级视频| 亚洲欧洲日韩综合二区| 欧美午夜片欧美片在线观看| 中文欧美在线视频| 久久漫画官网| 国产精品wwwwww| 国产精品免费福利| 欧美日韩在线电影| 亚洲高清激情| 永久久久久久| 亚洲欧美日本视频在线观看| 亚洲美女在线观看| 国产亚洲精品bv在线观看| 红桃视频欧美| 伊人久久大香线蕉综合热线| 亚洲午夜视频在线| 在线成人中文字幕| 一区在线电影| 欧美大片在线观看| 欧美乱人伦中文字幕在线| 欧美精品久久99久久在免费线| 国产精品视频久久一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 中文日韩在线| 亚洲欧美日韩天堂一区二区| 国产欧美精品日韩区二区麻豆天美| 国产一区视频在线看| 亚洲美女免费精品视频在线观看| 午夜精品短视频| 久久夜精品va视频免费观看| 亚洲激情另类| 国产精品久久久久一区| 久久gogo国模裸体人体| 亚洲小视频在线| 欧美日韩国产免费观看| 久久久久国产一区二区三区四区| 久久久国产一区二区| 欧美激情黄色片| 欧美激情精品久久久久久黑人| 亚洲网站在线观看| 国产精品日韩电影| 国产精品久久久久久久浪潮网站| 亚洲激情网站免费观看| 欧美精品日韩三级| 亚洲成人直播| 欧美α欧美αv大片| 欧美中文在线观看国产| 99日韩精品| 欧美午夜激情在线| 老牛嫩草一区二区三区日本| 久久国产精品久久久久久电车| 久久亚洲精品伦理| 99人久久精品视频最新地址| 国产一区视频网站| 亚洲一区三区在线观看| 日韩视频精品在线观看| 91久久精品国产91性色tv| 欧美成人情趣视频| 99视频精品全部免费在线| 亚洲精品欧美| 欧美在线视频观看免费网站| 欧美午夜久久| 亚洲美女91| 你懂的视频欧美| 蜜桃久久精品乱码一区二区| 最新亚洲电影| 欧美不卡激情三级在线观看| 国产精品夜夜夜一区二区三区尤| 国产精品国产a级| 国产精品网站在线观看| 久久精品亚洲一区| 先锋影音网一区二区| 一区二区精品| 1769国内精品视频在线播放| 一本色道久久综合亚洲91| 欧美日韩国产经典色站一区二区三区| 欧美视频四区| 国产精品午夜视频| 欧美日韩高清在线观看| 欧美日韩国产高清| 欧美日韩xxxxx| 欧美xart系列在线观看| 欧美激情1区| 欧美一级大片在线观看| 国产精品久久久一本精品| 国产精品视频一区二区三区| 欧美一二三视频| 亚洲天堂av电影| 一区二区不卡在线视频 午夜欧美不卡在| 久久视频精品在线| 99精品视频免费在线观看| 国产在线播放一区二区三区| 黄色另类av| 久久精品av麻豆的观看方式| 99视频一区二区| 欧美日韩免费精品| 国产主播一区二区三区四区| 在线亚洲一区二区| 国产精品日韩在线播放| 欧美欧美全黄| 国产精品青草久久| 国产精品欧美激情| 欧美激情成人在线视频| 国产精品视频第一区| 黑人极品videos精品欧美裸| 一本到12不卡视频在线dvd| 亚洲网站视频福利| 欧美日韩亚洲一区二区三区四区| 亚洲激情女人| 久久日韩粉嫩一区二区三区| 亚洲国产综合91精品麻豆| 亚洲人精品午夜| 欧美另类在线播放| 欧美日韩一区二区三区在线看| 在线成人国产| 国产九九视频一区二区三区| 欧美好骚综合网| 欧美日韩亚洲网| 亚洲免费视频中文字幕| 久久精品系列| 一区二区三区视频在线播放| 亚洲综合激情| 韩国成人理伦片免费播放| 久久精品国产清自在天天线| 国产欧美综合在线| 国产午夜精品一区理论片飘花| 亚洲一区三区电影在线观看| 国产色产综合产在线视频| 一区在线电影| 黄色国产精品一区二区三区| 国产精品视频xxxx| 免费精品视频| 亚洲免费人成在线视频观看|