dao/service/controller/model/entity/VO

18.7.22
dao、service、controller、model、entity。
*:dao用于操作數據庫,針對表進行增刪改查最基礎的操作,完全根據與數據庫一一對應的Entity的要求來查詢數據。dao層只是負責和數據庫打交道。

*:service利用dao進行業務上的處理,主要是展現需要開放出去的接口,一個service應當只調用自己對應的dao,如果需要調用其他實體的操作,需要將其他實體的service引入來使用。
*:controller做一些service前后的數據處理,利用service完成更高的操作。作為View和Model中間層。
*:model作為MVC的M是為view服務的,傳遞和接收view的數據。model與數據庫表的字段映射,并且也添加前端需要的字段。畢竟model是為view服務的。而為了簡潔就沒有重復使用entity與數據庫表一一對應。
*:entity為實體類,與數據庫表一一對應。一般開發使用model代替了entity。
*:domain怎么回事木有十分清楚。
我們的系統是domain屬于model下面,因為model為view服務,而domain則根據各個具體的模塊細分。
*:VO相當于model,是視圖對象,專門用于組織view需要的屬性。

參考:https://www.cnblogs.com/printN/p/6901774.html

2、最近公司做項目時,遇到問題,在保存場景時需要一起保存其五類屬性至各自屬性表中,需要決定在場景的service模塊調用屬性模塊的service還是dao,經查詢,最終調用service層方法解決。參考網上文檔內容如下:

”按我的經驗,service a不能調用b的dao層,只能調用b的service層實現業務。

因為b的service是對dao的CRUD封裝,如果是單庫的話service或許只是dao的代理,但如果有cache,跨庫查詢那顯然調用dao b是不合理的,可以類比為視頻系統調用用戶系統,視頻系統不關心用戶系統的dao層實現機制,只要通過service層查詢到用戶信息即可。

另外你說的業務依賴確實有這樣的困惑,但本身java類之間通訊就是有依賴關系的,或許如果service a業務依賴的service b業務太過于復雜時你可以再次抽象出service b的另外一個interface就ok了。

個人建議不同的模塊之間還是service飛來飛起就好了,不要搞到模塊A的service調用模塊B的dao。簡單的說就是為了遵循SOA,代碼結構更清晰。長遠點說以后不同模塊之間拆分項目/獨立成jar包也是好的。舉個例子, 項目里面有兩個模塊:賬號相關模塊和消息相關模塊。某個用戶登錄需要用到賬號模塊獲取用戶信息(AccountService.getAccountByxxx),而且拉用戶未讀消息(messageService.getUnRead)。用戶登錄這個行為可以用一個facade包裝"賬號模塊獲取用戶信息" & "拉用戶未讀消息"。搞一個UserBehaviorFacede就是了。其次,如果像題主這種問題, 是不是用一個facade包裝一下, 而不是模塊調來調去?”

參考:https://blog.csdn.net/arenn/article/details/76608564
http://www.zuidaima.com/question/2378883477212160.htm
https://www.zhihu.com/question/27139263

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,835評論 0 11
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評論 25 708
  • 此片為友人攝于內蒙古。 湖山初醒 云舒云卷湖初晝,水影流光點點鷗。 惺忪遠山忙裝扮,妝容一...
    BRS閱讀 232評論 5 2
  • 分享一個經歷。 那還是高中時代,具體是哪一年我也記不得了。我對數字已經變得越來越不敏感,容易忽略時間點,或者你...
    紳士貓俏皮狗閱讀 415評論 0 0