我是一個java web應用程序開發人員。java web應用程序中的圖層
而我發現我與服務器端的圖層耦合。
我不是指MVC(模型/視圖/控制),而是道/服務層。
Dao圖層用於連接數據庫。
爲什麼服務層?
由於我們現在使用spring mvc框架,我曾經在控件中處理登錄,包括調用dao來獲取數據。服務層是否必要?
我是一個java web應用程序開發人員。java web應用程序中的圖層
而我發現我與服務器端的圖層耦合。
我不是指MVC(模型/視圖/控制),而是道/服務層。
Dao圖層用於連接數據庫。
爲什麼服務層?
由於我們現在使用spring mvc框架,我曾經在控件中處理登錄,包括調用dao來獲取數據。服務層是否必要?
服務層知道事務。他們映射到用例和工作單元。即使您的Web用戶界面消失,他們也有機會變得有用,因爲它們是面向服務架構的基礎。
我會說,唯一一次我放棄一層將是隻讀訪問數據。在這種情況下,我更有可能處置DAO而不是服務。
DAO層 - 只處理DB的東西,基本的CRUD和其他一些發現查詢,它處理DB交易
服務層 - 實際上取決於DAO層上進行業務特定的邏輯,它可以處理業務交易
來區分它們的好處是,你可以與任何其他前端插入服務層,還你將有機會插上/更改DAO層如果原始存儲更改
請參見
有幾個原因,服務層,但對我來說有幾個主要優點:
是否需要服務層?當然不是 - 但技術上沒有層是必要的;一切都可以包裝在一個JSP頁面中。這是一個粒度,控制和關注點分離的問題。
服務層通常用作集成層層。它可以防止DAO圖層的「混亂」,並且與其無關。例如:
你的服務層也是在那裏,你將實現系統的各種「意見」,混合和匹配低層創建新功能。
請參閱http://en.wikipedia.org/wiki/Multitier_architecture – MJM 2012-03-18 13:10:13
http://stackoverflow.com/questions/698220/mvc-vs-n-tier-architecture – MJM 2012-03-18 13:11:29