`
feiyang404
  • 浏览: 54978 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
B7dcf87c-a349-3458-aa59-9c6036b3f5f6
从零开始一步一步做论坛
浏览量:9883
社区版块
存档分类
最新评论

关于Action层的疑惑!!!平地一声雷

阅读更多

在开发中我遇到了两种开发方式,第一种每个model类对应一个XXXAction,然后使用ModelDriven取得模型对象,在action中处理逻辑,感觉条理很清晰,但是如果要取得其他model的话就必须声明对象了,Modeldriven模型只能取一个模型对象.还有一种开发方式是在action层全部打乱,每个action类基本对应一个页面,采用FiledDriven的方式,处理各个model对象. 
请问这两种方式有什么优缺点?

 

我用的是S2SH,是每个model类对应一个action,像UserInfo这个类,对应有UserInfoDAO,UserInfoService,UserInfoAction,这种处理方式采用ModelDriven获取Model对象,如果要获取其他Model对象,只能使用new关键字,不过感觉这样条理很清晰;还是一种是UserInfo,UserInfoDAO,UserInfoService,然后登陆处理用LoginAction,注销LogoutAction,等等,这种处理方式,是将action层全部打乱,然后多个Service组成一个Action类,一个action类负责处理一个业务,这样的话基本是一个action类只被一个页面使用,也可以被多个页面使用,一个页面可以使用多个action,就是说,每个action就像一个功能一样,我在页面需要,就拿来用,这种action类里面要申明许多页面需要的属性,类似struts1的formbean,但是又不一样,这种开发方式我觉得也挺好,业务逻辑清晰. 
请各位大虾们给我指点迷津,不要因为第二种我提到了struts1的formbean就抵触他,我觉得如果系统很庞大,第二种倒更适合,因为第一种处理方式有点不灵活,请各位多多指点... 

分享到:
评论
1 楼 zhouyicang 2011-12-31  
不得不说这是我第二次遇到和你同样的问题,不过这个问题我看到过一个折中的方案,写个Modeldriven,如果Modeldriven中的某个功能复杂,那么就为这个功能单独写个Fielddriven,而Modeldriven近提供一个链接forward到Fielddriven里面。

相关推荐

Global site tag (gtag.js) - Google Analytics