java - 在SpringMVC的Controller层处理业务逻辑好吗?
天蓬老师
天蓬老师 2017-04-17 18:01:27
0
7
834

新接手的代码,发现在Controller里处理的逻辑就有几百行代码?又没有事务管理,这么做好吗?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(7)
阿神

標準的MVC確實是直接在controller中實現業務邏輯,但實際專案裡,還是會建議在controller和資料庫操作之間封裝服務層。
一方面,controller在對應不同的請求url,從功能上會存在很多重複;不好維護;
另一方面,要考慮你的服務功能將來可能暴露給其他前端,比如其他應用接入,或者不同的終端(如APP、行動H5等);有些服務甚至可能單獨剝離出來獨立部署;

洪涛

很不好,擴充起來很費勁,維護性也很差。

controller應該是薄薄的一層,業務邏輯盡量後置在服務層去處理,在服務粒度、服務利用上也更加自由。

Peter_Zhu

當然不好啦,controller層只負責業務資料交互,業務邏輯都交給service層處理

Ty80

現在我接手的專案Controller層也是奇大無比,一個方法上百行,裡面有多層if嵌套,感覺這樣最大的問題就是在後期維護時會很麻煩,需要理解之前的業務邏輯才能更改;個人感覺較好的方法是controller-service-dao,由service負責具體的邏輯操作,3者之間依次調用,彼此之間盡可能解耦;代碼要盡可能可擴展。

Peter_Zhu

雷雷

左手右手慢动作

即使放到service 還是會一坨。 。還是需要其他的方法來規避 業務複雜的情況,程式碼可維護性差

洪涛

今天讓同事看代碼.同事第一句話就是,你應該把controller這段代碼放在service中;=_=;
主要看業務複雜度吧,如果很簡單的一句業務那沒有從controller到service ,再到dao;也要看整個團隊的開發規範是如何;

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板