论事务脚本与领域模型

7 篇文章 0 订阅
6 篇文章 0 订阅

所谓事务脚本,MartinFowler定义是:将所有逻辑组织在一个单一过程,进行数据库直接调用,
每笔交易(业务请求)都有自己的事务脚本,并且是一个类的公开方法。

 所谓领域模型,是一系列相互关联的对象,每个对象代表一定意义的独立体,既可以一起以一种大规模
 方式协作;也可以小到以单线方式运行 。

   近期的一个项目使用到了事务脚本,因为系统是架构师架构的,所以无法选择。第一次接触事务脚本这种架构方式,作为一个忠实的面向对象程序员不免有些不屑。程序中操作极其简单,我们的项目使用jdbc+struts2+spring。项目中的操作真是特别简单的思想,jsp页面到action,action调用方法操作数据库。这种方式可以说开发起来极其迅速,而且灵活。但是有一个缺点,代码复用率不高,往往需要做好多重复的工作,虽然我们项目里面的方法经过了封装,但是还是有许多要自己写的东西,而且有时候sql什么的都需要自己写。真是让人感觉有点回到了原始社会的感觉。
   之前做项目都是使用领域模型,当然是简单领域模型,复杂领域模型我还没有看见有人在项目中用过,如果有高手麻烦给点指导意见或者示例。领域驱动模式目前比较火,因为这种方式很好的迎合了面向对象的思想,从分层到对象的操作,都体现了面向对象的思想。而且如果封装的比较好的话,代码的复用率也很高,基本自己只需要写action就行了。
   总结:引用 MartinFowler的一句话,好多东西明明可以简单的解决,我们为什么要复杂化它,简单的解决某些事情原本就是很好的。当然,福勒大师还是倾向于领域模型的,我个人理解如果项目小的话使用事务脚本很方便快捷,也不会出现乱七八糟的问题,如果业务逻辑复杂可能需要使用领域模型这种方式。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值