发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

针对事务的讨论

2009-07-24 19:22
赞助商链接

在JDON6.0发布的时候BANQ谈过了关于事务注解的问题:
<!--
关于为什么不增加@Transaction支持注解的说明:

使用Jdon框架可以使用事务机制,在代码中直接写JTA调用就可以(可见JiveJdon源码),那为什么Jdon框架不直接@Transaction注解呢?

主要是设计理念不同:我个人一直认为:事务是软件不可伸缩的罪魁祸首,给一段代码标记上事务,实际表明,这段代码中方法操作就是串行化的。我们可以使用基于内存对象模型的并发锁来替代事务操作,事务最后就异化为专为数据库操作准备的技术。

既然是为数据库等资源准备的技术,为什么要上升到业务层呢?业务层完全可以基于缓存中领域模型对象的并发锁机制来实现,更有甚者,可以采取云计算框架来帮助实现。实现方式见:http://www.jdon.com/jivejdon/thread/36633.html

所以,事务在某种程度上代表串行化计算,和云计算 异步处理 并行计算等概念是矛盾的。我们必须为降低事务粒度而和业务进行某种博弈,这时框架不能在其中再偏向事务串行化阵营。而EJB框架,以及整合Hibernate后的Spring框架,业务层缺省是事务的,是偏向事务阵营的。
-->
我很支持您的这种说法,个人认为事务确实是基于数据库的一种实现手段,上升到业务层确实是违背了DDD的思想
但是您提到了一点,采用基于缓存中领域模型对象的并发锁机制来实现,我迷惑的就是如何来实现您说的这种方式,在业务层控制住领域模型的对象问题.可否举例说明下,或者能提供详细的相关资料,本人很想模拟实现下...谢谢了!

2009-07-25 11:24

见这个帖子讨论:
http://www.jdon.com/jivejdon/forum/messageList.shtml?thread=36063&message=23122681#23122681

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com