论坛首页 海阔天空版 工作

发现了一个又肥又大的Service

浏览 1031 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-07-01
一个UserService拥有User和role两部分的功能,堆了各种find,save,update,change等等方法,想拆开更小的service...,如此如此有好处么?
   
最后更新时间:2008-07-01
兄台莫非看到小弟早年的作品了?
   
0 请登录后投票
最后更新时间:2008-07-01
bluemeteor 写道
兄台莫非看到小弟早年的作品了?



是滴. 我一直想把它拆成UserService和RoleService,然后facade成一个个新的原子Service,一个Service一个logic....可又嫌烦琐.
   
0 请登录后投票
最后更新时间:2008-07-01
dhj1 写道
这个Service太大,因为在这里面有对五、六个表的操作。
我曾作过抽象,结果不行的。SERVICE在SPRING中是一个单例。
抽象象之后,对一个表操作后,操作另一个表时,还是前一个表的数据。

如果把这个service分成五、六个类,就不是SERVICE层了。这层是业务逻辑层,在一些系统中,很多表的数据交互和处理是要在这里的。


我在琢磨这段话
   
0 请登录后投票
最后更新时间:2008-07-01
ray_linn 写道
dhj1 写道
这个Service太大,因为在这里面有对五、六个表的操作。
我曾作过抽象,结果不行的。SERVICE在SPRING中是一个单例。
抽象象之后,对一个表操作后,操作另一个表时,还是前一个表的数据。

如果把这个service分成五、六个类,就不是SERVICE层了。这层是业务逻辑层,在一些系统中,很多表的数据交互和处理是要在这里的。


我在琢磨这段话

SERVICE我觉得应该是各个类协调交互的调度者,跟是否是单例没有直接的关系
   
0 请登录后投票
最后更新时间:2008-07-01
Ashela 写道
ray_linn 写道
dhj1 写道
这个Service太大,因为在这里面有对五、六个表的操作。
我曾作过抽象,结果不行的。SERVICE在SPRING中是一个单例。
抽象象之后,对一个表操作后,操作另一个表时,还是前一个表的数据。

如果把这个service分成五、六个类,就不是SERVICE层了。这层是业务逻辑层,在一些系统中,很多表的数据交互和处理是要在这里的。


我在琢磨这段话

SERVICE我觉得应该是各个类协调交互的调度者,跟是否是单例没有直接的关系



我想搞成比如 RegisterService,PasswordService,大概是把原来的方法提升成类了..
RegisterService含encodepassword,authorzieRole,saveUser,sendActiveCode等逻辑
PasswordService含validateOldePwd,encodepassword,updateUser等逻辑。..

因此UserService被我拆成UserLogic和RoleLogic(不含事务),以上方法被归到两个Logic中,而RegisterService调用这两Logic
   
0 请登录后投票
最后更新时间:2008-07-01
ray_linn 写道
bluemeteor 写道
兄台莫非看到小弟早年的作品了?



是滴. 我一直想把它拆成UserService和RoleService,然后facade成一个个新的原子Service,一个Service一个logic....可又嫌烦琐.

如果user 和role之间有事物操作怎末半? 加在facade上?
有时候防在一起是被逼得的 不放在一起处理起来很麻烦
   
0 请登录后投票
最后更新时间:2008-07-01
ray_linn 写道
Ashela 写道
ray_linn 写道
dhj1 写道
这个Service太大,因为在这里面有对五、六个表的操作。
我曾作过抽象,结果不行的。SERVICE在SPRING中是一个单例。
抽象象之后,对一个表操作后,操作另一个表时,还是前一个表的数据。

如果把这个service分成五、六个类,就不是SERVICE层了。这层是业务逻辑层,在一些系统中,很多表的数据交互和处理是要在这里的。


我在琢磨这段话

SERVICE我觉得应该是各个类协调交互的调度者,跟是否是单例没有直接的关系



我想搞成比如 RegisterService,PasswordService,大概是把原来的方法提升成类了..
RegisterService含encodepassword,authorzieRole,saveUser,sendActiveCode等逻辑
PasswordService含validateOldePwd,encodepassword,updateUser等逻辑。..

因此UserService被我拆成UserLogic和RoleLogic(不含事务),以上方法被归到两个Logic中,而RegisterService调用这两Logic

那会更复杂 想想logic又要包装crud,这不是要命吗
   
0 请登录后投票
最后更新时间:2008-07-01
PS:这串logic我可以用Drools把他们串起来。
   
0 请登录后投票
最后更新时间:2008-07-01
楼主又有分了啊
   
0 请登录后投票
论坛首页 海阔天空版 工作

跳转论坛:
JavaEye推荐