新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 設計模式在業務邏輯層中的應用

        設計模式在業務邏輯層中的應用

        作者: 時間:2009-09-03 來源:網絡 收藏

        4 改進的4層架構開發模型
        基于上述分析,為提高軟件的開發效率,這里從角度出發,提出把層進一步分出一層,單獨形成一個數據接口層。數據接口層屏蔽各種底層數據庫之間的差異,負責與底層數據庫之間的連接。形成4層軟件體系結構框架,從上到下依次是:表示層、層、數據接口層、數據層,如圖2所示。表示層是軟件進行人機交互的接口;層負責處理用戶的業務請求;數據接口層負責與底層數據庫之間的交互;數據層則負責存儲數據。
        4.1 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模式,系統在請求數據端和數據服務端之間增加一層,增加了系統的復雜度;新增加的一層需要額外的設計與實現,增加了工作量;還需引入工廠甚至抽象工廠,增加了設計的復雜度。總的來說,DAO將數據持久層與業務邏輯層分離,提高了軟件的可擴展性,可維護性和可復用性。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沙坪坝区| 社旗县| 汝城县| 精河县| 虞城县| 罗山县| 吉木萨尔县| 祁东县| 宁晋县| 通榆县| 淳化县| 巩留县| 固阳县| 阳泉市| 象山县| 灌云县| 凤城市| 平山县| 宽甸| 双柏县| 青川县| 龙口市| 沙河市| 岳池县| 新泰市| 门头沟区| 门源| 娄底市| 明光市| 景泰县| 湘潭县| 工布江达县| 高安市| 红河县| 张家川| 同江市| 长兴县| 南京市| 东至县| 新沂市| 修水县|