1. java開發時為什麼要和service都是model層嗎
是數據訪問層。DAO(Data Access Object) 數據訪問對象是第一個面向對象的介面.
service是業務層,負責所有的專業務邏輯處理。
model屬於數據實屬體模型。和資料庫的數據欄位是基本對應的,model也可以增加一些資料庫沒有的虛擬欄位,幫助處理業務。
這樣分層的好處是降低程序耦合度。
2. Dao層到底是做什麼的service和Dao層有什麼關系說得具體一些。
Dao層:主要是做數據持久層的工作,負責與資料庫進行聯絡的一些任務都封裝在此,DAO層的設計首先是設計DAO的介面,然後就可在模塊中調用此介面來進行數據業務的處理,而不用關心此介面的具體實現類是哪個類,顯得結構非常清晰,DAO層的數據源配置。
層代碼示例:
層和service層關系:service層經常要調用層的方法對數據進行增刪改查的操作,現實開發中,對業務的操作會涉及到數據的操作,而對數據操作常常要用到資料庫,所以service層會經常調用層的方法。
(2)資料庫層擴展閱讀
Service層是建立在DAO層之上的,建立了DAO層後才可以建立Service層,而Service層又是在Controller層之下的,因而Service層應該既調用DAO層的介面,它剛好處於一個中間層的位置。每個模型都有一個Service介面,每個介面分別封裝各自的業務處理方法。
在實際開發中DAO層大多是對某張表進行增刪改查,都是一些固定的語句,除非涉及到更復雜的service層業務邏輯,才可能要添加更復雜的DAO層方法。
3. 一個項目中說系統分為表現層、控制層、邏輯層、DAO層和最終資料庫五層架構 這具體是什麼意思啊
1、表現層:主要功能是顯示數據和接受傳輸用戶的數據,可以在為網站的系統運行提供互動式操作界面,表現層的應用方式比較常見,例如Windows窗體和Web頁面。
2、控制層:將業務規則、數據訪問、合法性校驗等工作進行處理。通過COM/DCOM通訊與邏輯層建立連接。
3、邏輯層:將用戶的輸入信息進行甄別處理,分別保存。建立新的數據存儲方式,在存儲過程中對數據進行讀取,將「商業邏輯」描述代碼進行包含。
4、DAO層:主要是對非原始數據(資料庫或者文本文件等存放數據的形式)的操作層,對資料庫的操作,而不是數據,具體為業務邏輯層或控制層提供數據服務。
5、最終資料庫:是資料庫的主要操控系統,實現數據的增加、刪除、修改、查詢等操作。實際運行的過程中,最終資料庫沒有邏輯判斷能力,為了實現代碼編寫的嚴謹性,提高代碼閱讀程度,一般軟體開發人員會使用DAO層,保證數據處理功能。
(3)資料庫層擴展閱讀:
系統分為表現層、控制層、邏輯層、DAO層和最終資料庫五層架構的優點是:
1、開發人員可以只關注整個結構中的其中某一層。
2、可以很容易的用新的實現來替換原有層次的實現。
3、可以降低層與層之間的依賴。
4、有利於標准化。
5、利於各層邏輯的復用。
6、結構更加的明確。
7、在後期維護的時候,極大地降低了維護成本和維護時間。
8、避免了表示層直接訪問數據訪問層,表示層只和業務邏輯層有聯系,提高了數據安全性。
9、有利於系統的分散開發,每一個層可以由不同的人員來開發,只要遵循介面標准,利用相同的對象模型實體類就可以了,這樣就可以大大提高系統的開發速度。
10、方便系統的移植,如果要把一個C/S的系統變成B/S系統,只要修改三層架構的表示層就可以了。業務邏輯層和數據訪問層幾乎不用修改就可以輕松的把系統移植到網路上。
11、項目結構更清楚,分工更明確,有利於後期的維護和升級。