JFinal sql和业务写在哪层的问题

VikingZ 发布于 2013/08/25 17:56
阅读 1K+
收藏 0

@JFinal 你好,想跟你请教个问题:

看新的JFinal demo里,blog controller中多了一段话“注意:在实际项目中业务与sql需要写在Model中,此demo仅为示意,故将sql写在了Controller中”

如果把业务和sql写在Model里,那Model代码都很杂了,不是单纯的实体类代码了

还是说,在Model和Controller之外,再建一个对应类,比如BlogDAO,把sql和业务代码都写在这里面,然后Controller中调用?

不写在Controller中的好处是什么?

谢谢

加载中
0
华兹格
华兹格
Model是直接操作数据库的接口,就像你说的Dao,Controller是控制器,尽量和Dao分开,它只负责实现业务逻辑。
0
绝望的八皮
绝望的八皮
业务放model,充血模型
0
Not
Not

我会把复杂的业务逻辑放在service曾


0
红星xx
红星xx
原来 单独 建一层 service  , 后台发现 功能很简单 ,建 service 简直是 浪费时间 ,方式脑细胞 ,直接用 ModelController 了 ,也不管什么设计模式了 ,
0
菜根乱谭
菜根乱谭

引用来自“绝望的八皮”的答案

业务放model,充血模型
绝对支持。也可参考之前的讨论中的一些观点 http://www.oschina.net/question/35115_121453#AnchorAnswer561335
0
铂金小虫
铂金小虫
简单的可以放model。如果业务比较多,可以另起一个service,放到这里。
0
缪斯的情人
缪斯的情人
一般简单的可以直接放model,如果业务复杂度较高,且层级较分明(比如,数据层多系统复用)可以单独建一个helper层(类似于常言的service层,来源于ROR)。
0
VikingZ
VikingZ
谢谢各位,正在做的系统不复杂,那我就全丢在controller里了,还是习惯model只当实体,JFinal的Dao很方便,就不搞service层了
VikingZ
VikingZ
回复 @pandyyan : 我被JFinal之前的demo影响颇深,业务和sql都写在controller里了 。。。
pandyyan
pandyyan
JFINAL的Model是充血模型,本身就可以承载部分业务,Controller就是做逻辑转发的,不应该在该层写业务,service层可以不写,但业务要写到Model中。
0
Eova
Eova
建议去深入理解一下充血模型和贫血模型就明白了!
0
大龄未婚男青年
大龄未婚男青年
个人觉得  充血模型和贫血模型 在一般的web 项目中是无所谓的,现在的web项目都是以数据库为核心,只要能复用开发简单其他的都没有什么所谓
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部