Jfinal中的service层和model层之间的调用关系?

richlin2004 发布于 2015/09/21 14:55
阅读 1K+
收藏 1

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

JFinal 建议的项目结构:

1:总体划分规则:先分模块,然后在模块中分层。

2:模块划分:中小型项目,每个领域模型划分为一个模块,如 jfinal demo 给出的 blog就是一个模块。大型项目可以在模块下面划分子模块。

3:层次划分:中小型项目可以在模块下面直接以类文件命名来约定层次,如Controller层为BlogController,Model层为Blog,业务层为BlogService。大型项目可以为层分配子包,如在模块下面创建service、controller、model包,然后在包中再创建该层次的相关类文件。

4:为了极速开发,中小型项目,可以不使用Service层,而且业务全部放入Model,称之为充血领域模型。

==============================================================

我想问下:我在 service 层写了业务逻辑代码,在 model层也写了一些访问代码功能。

1、然后 在 controller 层可以调用 service层,也可以调用 model层代码吧?还是说:在controller层只能调用 service层的内容?

2、几个层之间的 调用关系 有什么要求?

加载中
0
JFinal
JFinal

     1:有Service 层时,通常是 controller 层中直接调用 Service 方法,返回的结果可能是 Model或者Model集合。Model 中的方法并不是只有 Service 中可以调用,在 controller 中也可以,只不过更多还是调用 Serivce,有了 service 层以后,model 主要用来承载数据,以及添加一点与具体 model 对象有关的方法,例如 Account.isActivate() 用来判断该账户是否已激活,代码为: return getInt("activate" == ACTIVATE_YES);

   2:调用关系要求:controller 获取请求参数,再以这些参数为参数调用 service 层,获取到 service 返回的结果,再 render。至于 model 见 1 中的说明。

0
y
yizhilong
有service层的话,建议使用后面,只调service,特别是事务级别的
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部