首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

关于服务层的思考

2013-02-24 
关于服务层的考虑原程序BatchGradeService批量任务升级服务(锁定一批升级任务,UpGrade单个任务进行升级-事

关于服务层的考虑

原程序

BatchGradeService批量任务升级服务(锁定一批升级任务,UpGrade单个任务进行升级-事务,出错回滚,成功发送邮件短信)

UpGrade(计算用户等级,变更等级,产生升级记录,解锁)事务

如果我又想加入这样一个功能,重新计算一下用户等级(包括修改等级),这样就要求和任务无关,任务只是触发计算等级的一个开关,但并不是计算等级的领域逻辑,目前计算等级是要根据任务来锁定的。可以单独把计算用户等级和修改等级做为一个领域逻辑,这个逻辑是可以重复执行,不需要锁定的解锁的。

改为:

BatchGradeService(锁定一批升级任务,UpGrade单个任务进行升级-事务,出错回滚,成功发送邮件短信)

根据任务升级服务(UpGrade升级,解锁)事务

UpGrade升级(计算用户等级,变更等级,产生升级记录)

?

总结:锁定再操作属于应用服务,锁定本身可以看做一个技术辅助,但不是一个领域服务。

? ? ? ? ? ?发邮件短信提醒可以看做是领域服务。

? ? ? ? ? ?应用服务协调领域服务来工作。

?注:此版本程序是访问sqlserver只是个中间版本,在后续版本中更新本文档

?

附相关知识:

领域逻辑:只与问题领域有关

应用逻辑:与应用的职责有关,也称为工作流逻辑。(组装领域服务来做一个工作职责)

?

?

热点排行