为了账号安全,请及时绑定邮箱和手机立即绑定

在 MVC 中,验证放在 Controller 中还是 Model 中?

在 MVC 中,验证放在 Controller 中还是 Model 中?

撒科打诨 2019-04-09 20:25:13
本人是一名前端,刚才开始写后台,这个问题比较困惑。是否放在Model中,通过Model返回不同的状态码供不同控制器调用会好一些?大家来分享一下自己的经验吧。后面附上两个相关的链接:http://stackoverflow.com/questions/5305854/best-place-for-validation-in-model-view-controller-modelhttp://ruby-china.org/topics/4005
查看完整描述

2 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

曾经我也有类似的疑惑,其实大家也都说廋controller,胖model,可是为什么廋controller就一定要胖model呢,设计的原则是什么,就是越简单越好,那么胖model不就违背了我们的设计原则么?
所以对于这个问题,我的解决思路是,既然要减肥,那大家都减肥好了,廋controller+廋model验证层(我称之为model_service)+廋model,这样的话,即便多个controller复用验证层也不成问题,而model还是基本的增删改查,并且在这个model会更加的灵活,例如常见的问题,一个model引用另个model的增删改查,也可以直接复用
其实分层是一个思想,而不是说分层就一定要按照某个既定的方案死板硬套,那样还不如不分层,既然你已经采用了分层的思想,那么是mvc还是smvc就没有说那个一定好,要看自己怎么考虑自己程序是怎么分层的,说不定你为了方便还搞出了一个xxxmvc分层设计呢,分层分层,切记一定要有能加层的设计考虑。
记得好像网上流行一句话“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”,所以你会看到很多类似的概念:代理、缓存、cgi、工厂模式等等,甚至直接就来一个概念叫“中间层”,所以说当你觉得放在有联系的2个层中随便哪个都好时,你可以想想是不是有一个中间层会更好呢?
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 416 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信