service 層
服務層:直接為客戶端提供的服務或功能。也是系統所能對外提供的功能。
domain層
領域層:系統內的領域活動,存放實體。
dao 層
持久層,DB操作都寫在這里,數據訪問對象,通過領域實體對象來操作數據庫。
biz層
業務層,我只做某方面的業務處理,如果需要數據庫工作,聯系下數據部門(dao)協助我,業務層不會出現數據操作
代碼
action層
控制層,MVC中充當C角色,用來分配哪個業務來處理用戶請求。
common層
通用工具包,一般一個公司會有固定的jar,好幾個項目通用的,例如遠程調用等
工作流程:
一個請求發送到action(作用:MVC中的C),action控制它發送到哪個biz處理,如果用到數據庫,那么biz在連接dao,然后返回要的數據,最后action在返回響應的頁面(比如jsp),因為是面向對象,所以實體domain在中間傳遞數據。以上為工作流程.
其中有些指導原則:
1、上層總是依賴其下層,依賴關系不跨層。
2、表現層除外,同一層之間方法不允許相互調用。這是實際開發中一些開發者容易范的錯誤!如果真是同一層之間存在方法調用,需要注意,這些調用都是一些上層不可見方法,比如一些工具方法等。
3、一切從服務層出發,從系統需要提供的功能進行分析,確定Service接口中的方法。而不是從數據庫的表出發,創建DAO,再創Domain,然后Service,這實際上是對系統分層的誤解。
4、系統最核心的設計就是將系統中的實體划分為領域模型。在此基礎上設計數據的DAO層,並將這些活動暴露給服務層,服務層的實現依賴於領域活動。
5、每個接口的職責范圍明確有界。
注:轉載地址http://www.wxx3g.com/articles/907.html