5 回答

TA貢獻1786條經驗 獲得超11個贊
哪種設計模式……恐怕搞不定,23種設計模塊估計你需要用到近一半
如果 Service 層太臃腫,可以考慮層次細分,甚至可以把平面分層改為樹型分層(分子系統或模塊)。
如果要減少代碼,可以通過重構和設計模式把重復代碼去掉,但是分層和模塊本身會增加代碼量。所以最終結果可能并不會減少代碼量,但是層次結構會更清晰。
以閱讀為目的進行重構,再通過測試和分析對部分地方進行性能優化——說起來簡單,做起來還是很累人的

TA貢獻1780條經驗 獲得超1個贊
既然覺得臃腫,那么就要對應的'瘦身'啊
不要把所有的
API
都寫在service
層,可以根據代碼邏輯劃分一些到dao
層或者util
中嘗試著一些面向對象,將某一類的代碼寫到某一類的
service
中,這樣某一類的service
應該不會很龐大增加覆用,少些重復的代碼,可以通過繼承和封裝等手段,
Don't repeat youself

TA貢獻1850條經驗 獲得超11個贊
1、將臃腫的service類拆分成更細的service類
2、盡量不要寫超復雜的方法:比如方法F要做A,B,C三件事,那就將A,B,C三件事都抽象出來單獨寫一個方法,由F方法調用A,B,C三個方法,這樣F方法就瘦身了
3、service類盡量只做邏輯處理,對于功能性的方法(比如http請求,比如空值判斷)將其封裝到公共方法中,例如util類。
4、盡量將通用方法抽象出來放到基類BaseService中,比如基礎的search,create,update,delete等。
事實上,像eclipse和idea這些現代IDE都有優化提示的功能,就是那惹人生厭的黃色警告。如果你將黃色警告都解決了的話,上面的問題起碼能避免一半

TA貢獻1820條經驗 獲得超10個贊
如果單個項目過于龐大,拆分成多個項目是必然的,但要分幾個階段:
界面展示和業務邏輯分離。將項目拆分成 Web 應用和服務,Web 應用調用服務獲得要展示的動態內容。
如果上面拆分后服務項目仍然過于龐大,就需要按業務領域拆分。比如用戶服務、產品服務、社交服務、工單流等等,分開來。這一步要十分謹慎。
添加回答
舉報