<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    冰浪

    哥已不再年輕 - 堅定夢想,畢生追求!
    posts - 85, comments - 90, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    ???? DAO Date Access Object 的縮寫,就是數據訪問對象。 DAO 模式就是將對數據庫的操作都封裝成一個類,在需要進行數據存取時就直接調用 Dao 類實例對象來完成的一種工作方式,這也是面向對象編程的一種體現。

    CSUOA 中,我將數據庫里每一個表都對應一個實體 Entity ,而每一個 Entity 都對應著一個 Dao 的實例類,用于進行相應的操作。

    CSUOA 數據庫里有 oauser mail message 等表,分別代表用戶表,郵件表,短信息表。那么我就對應著有 OauserDao.class MailDao.class MessageDao.class Dao 實例類。而我們知道,數據庫操作中最基本的就是增刪改,這也是共性,所以我將增刪改操作抽象出來,建立一個 Dao 抽象類 BaseDao.class ,作為 Dao 實例類的父類,其類方法可為增刪改的抽象方法或實例方法,具體要根據數據持久操作的底層實現來確定。當然,進一步來說,獲取對象也是基本的操作,在這里省略了。

    那么,到這里就完成了嗎?沒有!按照面向接口編程的原則,我再建立一個 Dao 接口: Dao.class 作為抽象類 BaseDao.class 的父類。而在 Dao.class 里,我們只聲明了增刪改的無任何實現的抽象方法。

    接口不能實例化,定義了接口又怎么用呢?對,接口是不能實例化,但我們可以聲明一個接口類型的引用。也就是創建一個 Dao 實例對象,但聲明其類型為 Dao 接口類型。例如: Dao dao = new OauserDao(); 這樣有何意義呢?是因為對松耦合的要求,這點我們在下篇再詳細說明。

    除了要進行基本的增刪改操作外,有些 Entity 還要進行其它一些操作,如查詢。我首先想到的是,在 OauserDao.class 里擴展功能,加入查詢方法,以致于可以進行查詢操作。即在 Dao dao = new OauserDao(); 后用 dao.query(“queryStr”); 進行查詢操作,但此時,編譯器報錯了,說“沒有為 Dao 定義 query() 方法”。想想也對,將 dao 聲明為 Dao 類型,編譯器就以 Dao 類型所擁有的方法進行編譯,但此時編譯器無法在 Dao 接口類里找到此方法,所以報錯了。

    幾經思考后,想到可以這么做:新建立一個 Query.class 的接口類,并聲明查詢方法,然后在 Dao 實例類如 OauserDao.class 里實現 Query 接口。我們知道,一個類可以實現多個接口,這就是接口的優勢。在要進行查詢操作時,我們將之前 dao 實例對象聲明為 Query 類型,此時就通過了編譯并實現了我所要的結果。

    ?

    我以前寫程序,根本就不會去用接口,也不明白接口有什么用,也不會去用抽象類,動手就是實例類,最多也就是用到繼承,以為這就是面向對象了。從這可以看我的面向對象基礎不太好,我覺得很大程度是因為我們大學里所用教材的原因,教材里所寫的就只是一些語法。而自己又是大三下學期才決定轉入 Java 方向的,所以深深知道自己要學習的東西太多太多。在大四時我就決定好好補上這一課,而當我在網上看到孫衛琴的《 Java 面向對象編程》這本書并預讀了其中一章內容時,我馬上做出了買書的決定!因為這本書剛出版的原因,我沒有在惠州買到,所以就托我哥在順德買了下來,拿到手后如獲至寶。現在,我已經基本上看完了這本書,明白了很多東西,覺得自己的面向對象思想已經達到了一個質的飛躍。在此我要特別感謝孫衛琴老師,給我們寫了一本這么好的書。也是因為這些,我才可以寫下這篇開發日記,算是有點東西的東西。


    評論

    # re: 畢業設計開發日記連載4:DAO模式和面向接口編程  回復  更多評論   

    2007-02-28 09:32 by 我為J狂
    “Dao.class 作為抽象類 BaseDao.class 的父類”這句話不太準確,應該這樣闡述“BaseDao實現了Dao接口”。

    # re: 畢業設計開發日記連載4:DAO模式和面向接口編程  回復  更多評論   

    2007-03-02 08:53 by 壞男孩
    孫JJ寫的書真的值得一睹

    # re: 畢業設計開發日記連載4:DAO模式和面向接口編程  回復  更多評論   

    2007-03-14 10:57 by L
    persistent層最好還是需要一個框架,尤其是到最后你需要transaction management的時候。
    主站蜘蛛池模板: 色窝窝免费一区二区三区| 十八禁的黄污污免费网站| 久久精品免费一区二区三区| 国产大片免费观看中文字幕| 亚洲 欧洲 日韩 综合在线| 中字幕视频在线永久在线观看免费| 内射干少妇亚洲69XXX| 日韩免费的视频在线观看香蕉| 国产成A人亚洲精V品无码性色| 最近免费中文字幕4| 亚洲成aⅴ人在线观看| 精品久久久久久久久免费影院| 久久精品国产亚洲av麻豆蜜芽| 一个人看的www视频免费在线观看| 蜜臀91精品国产免费观看| 亚洲熟妇无码av另类vr影视| 永久在线观看免费视频| 久久亚洲精品成人777大小说| 日韩成人免费视频| 亚洲国产精品久久人人爱| 成人免费毛片内射美女-百度| 亚洲综合激情五月丁香六月| 黄网址在线永久免费观看| 羞羞视频免费观看| 德国女人一级毛片免费| 亚洲av成人中文无码专区| 亚洲精品岛国片在线观看| 亚洲色www永久网站| 国产高清免费在线| 精品国产免费一区二区三区| 亚洲国产精品线在线观看| 日本免费一区二区在线观看| 亚洲av午夜福利精品一区 | 国产精品久久久久久久久久免费 | 国产一精品一AV一免费| 亚洲高清在线播放| 在线看片人成视频免费无遮挡| 少妇亚洲免费精品| 亚洲综合区图片小说区| a级毛片免费完整视频| 亚洲精品综合久久|