注:希望大家看後,請給我一點評價,無論寫的怎麼樣,希望你們能給我支援。提出你寶貴的意見。我會繼續完善。謝謝您。朋友。
第四章 Spring的完美DAO
在講之前,我先講一下在web開發中經常用到的幾個層。也就是現在javaEE中流行的多層組合開發。我們先不講它的好處,我們先明白各個層是幹什麼的。等你明白了這些,自然會知道分層的好處了。
我們以前在web程式設計當中可能喜歡把所有的業務,資料通路都寫在一個類中,或寫在幾個方法中。這樣程式設計的開發速度不用質疑,一定很快,但你想一個問題了嗎?我們開發的軟體是給客戶用的。一旦上線就以為着一天24小時都得運作,你能保證它不出錯嗎?假設你的測試和ok,就是運作上幾年,上百年也不會報錯,但你無法保證客戶的需求不變啊,你難道不更新你的軟體嗎?對客戶提出的新需求,你難道不管嗎?我們開發一個軟體可能一年的時間,可能更短的時間,但我們大部分的時間要去 維護它,以及如何更新它,讓它能夠滿足客戶的不斷的需求。如果這些問題你在開發之前都能一一想到。我想你自然會分層來完成這些代碼的。我們講的這些分層指的是邏輯上的分層。
這裡我先講一下web開發中用到的各個層,以及它們的職責。
表示層
這個應該比較好了解吧,這個層說白了就是使用者可以通過浏覽器看到的頁面部分,也就是網頁。針對B/S的開發我們可以這樣了解,要是C/S就應該是windows使用者界面/web使用者界面了。我們平時用到許多軟體都是C/S結構的,最熟悉的應該是QQ,千千靜聽子類的了都是C/S結構的。相對QQ那個軟體,我們所看到的是表示層的界面了。表示層大多是用來接受使用者的輸入資料的。或是向使用者展示資料的。總之大部分對使用者來講是可見,可操作的。
業務邏輯層(服務層)
對于現在出現的衆多的架構中,有針對前台表示層的,有背景資料庫的操作的,也有對業務層的管理。但最終的具體業務必須得靠我們程式員寫了。因為業務需求是變化的,随時都可能在變化,它是根據使用者的需求而變動的。這一層應該是最重要的一層了,它是核心層次。主要用來滿足客戶的需求。
如果業務層在細分的話,從大體上又可以分為業務外觀層,和業務邏輯層。
先說業務外觀層:
1. 從“表示層”接受使用者出入資料。
2. 如果請求需要對資料進行隻讀通路,則可能使用“資料通路”層,進行資料通路。
3. 将請求傳遞到“業務邏輯”層。
4. 将響應從“業務邏輯”層還到“表示層”。
5. 在對“業務邏輯”層的調用之間維護臨時狀态。
業務邏輯層
1. 從業務外觀層接受請求。
2. 根據編碼的業務邏輯處理請求。
3. 使用“資料通路”層從資料服務層擷取資料。
4. 将處理結果傳遞回“業務外觀”層。
資料通路層(DAO)
主要執行從資料庫或其他資料服務擷取資料或向資料庫發送資料的功能。也就是常用的對資料庫的表的CRUD(增,删,改,查)操作。
1. 從“業務邏輯”層接受請求,從資料服務擷取資料或發送資料。
2. 将資料庫的查詢結果傳回到業務邏輯層。
資料服務層
就是可以儲存資料的系統,可以是資料庫,或資料檔案等。
上面主要是針對分層開發的綜合描述了各個層的職責。
以下的内容正在寫。。。。 希望大家關注我的blog.Thank you.
本文轉自 weijie@java 51CTO部落格,原文連結:http://blog.51cto.com/weijie/66468,如需轉載請自行聯系原作者