设计进步,记一笔,控制层的代码,他不光控制还要校验数据!以前理解错啦
再記錄:
因?yàn)槭褂梅盒蛯?duì)公共代碼大量抽取,用到了繼承關(guān)系,則需將原來的在業(yè)務(wù)層的部分?jǐn)?shù)據(jù)放到controller層校驗(yàn)
使他符合mvc的請(qǐng)求過程,即是一個(gè)完整處理的先后順序問題
,對(duì)業(yè)務(wù)處理的時(shí)就必須先檢驗(yàn)數(shù)據(jù),再在進(jìn)入業(yè)務(wù)層時(shí)再操作數(shù)據(jù),以免重復(fù)操作,且肯定不會(huì)正確的請(qǐng)求造成的資源浪費(fèi)
簡(jiǎn)單說:在service層需要用到已經(jīng)被抽取的部分公共代碼,且其中包含校驗(yàn)數(shù)據(jù)的一部分,但是它們由于繼承的關(guān)系導(dǎo)致操作數(shù)據(jù)順序與校驗(yàn)數(shù)據(jù)順序反過來了,
則必須將service·中的公共代碼完全放到controller層,恢復(fù)順序,且能在service正常使用正確的數(shù)據(jù)
記一筆,控制層的代碼,他不光控制還要校驗(yàn)數(shù)據(jù)!
我以前寫的代碼都是在服務(wù)層進(jìn)行校驗(yàn),
有些違背mvc設(shè)計(jì)思想;
例如將控制層的代碼寫到業(yè)務(wù)層,錯(cuò)誤的將它當(dāng)做業(yè)務(wù)處理,
還會(huì)因?yàn)榭蚣艿脑?#xff0c;代碼耦合度不能最優(yōu),
當(dāng)然,在實(shí)際寫程序的過程中,并不一定能完全實(shí)現(xiàn)完全解耦。
即
:
應(yīng)該吧整數(shù)校驗(yàn)放到action層!
不說了,去改代碼了
總結(jié)
以上是生活随笔為你收集整理的设计进步,记一笔,控制层的代码,他不光控制还要校验数据!以前理解错啦的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate更新部分字段的几种方法
- 下一篇: 关于mysql数据库的外键插入报错:Ca