更新時間:2020-04-15 13:37:18 來源:動力節(jié)點 瀏覽2454次
javaweb高級教程,MVC三層架構(gòu)開發(fā),說起應用分層,controller,service,mapper三層。很多人其實并沒有把他們職責劃分開,在很多代碼中,controller做的邏輯比service還多,service往往當成透傳了,這其實是很多人開發(fā)代碼都沒有注意到的地方,反正功能也能用,至于放哪無所謂唄。這樣往往造成后面代碼無法復用,層級關系混亂,對后續(xù)代碼的維護非常麻煩。
的確在這些人眼中分層只是一個形式,前輩們的代碼這么寫的,其他項目代碼這么寫的,那么我也這么跟著寫。但是在真正的團隊開發(fā)中每個人的習慣都不同,寫出來的代碼必然帶著自己的標簽。
有的人習慣controller寫大量的業(yè)務邏輯,有的人習慣在service中之間調(diào)用遠程服務,這樣就導致了每個人的開發(fā)代碼風格完全不同,所以一個好的應用分層需要具備以下幾點:方便后續(xù)代碼進行維護擴展;分層的效果需要讓整個團隊都接受;各個層職責邊界清晰。
每一個層基本都自己對應的領域模型,這樣就導致了有些人過于追求每一層都是用自己的領域模型,這樣就導致了一個對象可能會出現(xiàn)3次甚至4次轉(zhuǎn)換在一次請求中,當返回的時候同樣也會出現(xiàn)3-4次轉(zhuǎn)換,這樣有可能一次完整的請求-返回會出現(xiàn)很多次對象轉(zhuǎn)換。如果在開發(fā)中真的按照這么來,恐怕就別寫其他的了,一天就光寫這個重復無用的邏輯算了吧。
所以我們得采取一個折中的方案:
1、允許Service/Manager可以操作數(shù)據(jù)領域模型,對于這個層級來說,本來自己做的工作也是做的是業(yè)務邏輯處理和數(shù)據(jù)組裝。
2、Controller/TService層的領域模型不允許傳入DAO層,這樣就不符合職責劃分了。
3、同理,不允許DAO層的數(shù)據(jù)傳入到Controller/TService。
總的來說業(yè)務分層對于代碼規(guī)范是比較重要,決定著以后的代碼是否可復用,是否職責清晰,邊界清晰。當然這種分層其實見仁見智,團隊中的所有人的分層習慣也不同,所以很難權(quán)衡出一個標準的準則,總的來說只要滿足職責邏輯清晰,后續(xù)維護容易,就是好的分層。
以上就是動力節(jié)點java培訓機構(gòu)的小編針對“javaweb高級教程,MVC三層架構(gòu)開發(fā)”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。
Javaweb高級學習視頻