設計模式在業(yè)務(wù)邏輯層中的應用
4.2 DAO實(shí)現
DAO對象也是。Java對象,只是它們提供數據庫訪(fǎng)問(wèn)的能力。數據庫的訪(fǎng)問(wèn)可歸納為創(chuàng )建(Create)、查詢(xún)(Read)、更新(Update)、刪除(Delete)4種基本操作,即常說(shuō)的CRUD操作。DAO模式通常與工廠(chǎng)模式一起使用,建議面向接口編程,為每個(gè)DAO實(shí)現類(lèi)編寫(xiě)接口,DAO調用者使用接口,而不是具體的實(shí)現類(lèi)。當然,DAO對象需要值對象來(lái)傳值,值對象就是普通的JavaBean。以下是一個(gè)DAO的示例。圖3為數據訪(fǎng)問(wèn)對象設計模式的參與對象和它們之間的調用關(guān)系。圖4為該示例的詳細類(lèi)圖。本文引用地址:http://dyxdggzs.com/article/157858.htm
該DAO示例包含文件:DAO接口類(lèi)、DAO接口實(shí)現類(lèi)、DaoFactory類(lèi)、PersonBean類(lèi)、DBConn類(lèi)、Test類(lèi)。接口里定義 DAO對象必須提供方法,PersonBean是一個(gè)普通的JavaBean,DAO對象的實(shí)現類(lèi)為接口的全部方法提供實(shí)現。程序中還用到工具類(lèi) DBConn,該工具類(lèi)主要用于獲得數據庫連接,通過(guò)連接獲得Statement對象,并提供釋放Statement對象、關(guān)閉連接的方法。
程序將DBConn對象設計成單態(tài)模式。至此,完整的DAO實(shí)例編寫(xiě)完成。程序主要提供3個(gè)組件:傳值的JavaBean類(lèi),DAO對象的接口,DAO對象的實(shí)現類(lèi),實(shí)現類(lèi)包括所用的工具類(lèi)。DAO模式通常與工廠(chǎng)模式相結合,DAO工廠(chǎng)負責產(chǎn)生DAO實(shí)例。兩者結合可更好地實(shí)現業(yè)務(wù)組件與持久層組件的解耦。業(yè)務(wù)組件只需獲取DAO工廠(chǎng)實(shí)例,然后由DAO工廠(chǎng)實(shí)例負責產(chǎn)生DAO組件。業(yè)務(wù)組件則面向DAO接口編程,無(wú)須關(guān)心DAO的具體實(shí)現。
5 結束語(yǔ)
分析傳統3層軟件體系結構的優(yōu)缺點(diǎn),從軟件模式角度出發(fā),對其進(jìn)行改進(jìn),提出4層開(kāi)發(fā)模型,提高了系統的可擴展性、可復用性、可維護性,并給出一個(gè)具體應用實(shí)例實(shí)現DAO設計模式。
評論