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

贫血领域模型和事务脚本的区别

         
2015-01-13 20:15
赞助商链接

请问下,贫血的领域模型和事务脚本有何区别?贫血的领域模型,实体几乎没有了业务逻辑,那么业务逻辑能放在哪里?只能是服务中,那么这和事务脚本有何区别呢,思考好久,木有想出来答案说服自己,求指教。(是贫血的领域模型和事务脚本的区别,不是一般意义的领域模型----一般意义上的领域模型个人感觉是充血的)。谢谢。

2015-01-14 10:19

2015-01-13 20:15 "@jdonTao"的内容
业务逻辑能放在哪里?只能是服务中,那么这和事务脚本有何区别呢 ...


业务逻辑放在服务中,服务变成了事务脚本,一般在服务中使用JTA或JDBC数据库锁或2PC两段事务保证业务逻辑的事务性。

2015-01-14 11:32

贫血的领域模型是个状态模型,它上面的方法只是用来确保模型实例级别的状态合法性的。一个在模型实例级别合法的模型实例不一定在我们的系统中是合法的,比如它的标识与别人重复了它就在该类型的模型实例集合中不合法。
状态模型无法修改只能替换。在数据库中记录看似是可以修改的,其实都是在替换,是局部替换那些变更字段。
贫血的状态模型中的用来确保模型实例级别状态合法性的逻辑我觉得也属于领域逻辑。领域逻辑是和我们的系统一样分层管理的,领域服务中的是是领域逻辑,Actor中的是领域逻辑……甚至展示层逻辑中验证输入合法性的逻辑也是领域逻辑,当然在内层的服务层和贫血模型层也有重复的验证,系统将某些逻辑从内层投影到外层去执行只是为了减少对内层的无效请求和提高对用户的响应速度。
[该贴被anycmd于2015-01-14 11:38修改过]

2015-01-14 14:04

2015-01-14 10:19 "@banq"的内容
服务变成了事务脚本 ...

这句话该如何理解?是否可以认为表现上相似,然而对于事物脚本来说,它没有分层的概念。而贫血领域模型也是领域模型的一种(书上称其为领域模型的反模式),因此具有分层的概念思想,也会有仓储,工厂,等一系列的存在。

2015-01-14 14:06

2015-01-14 11:32 "@anycmd"的内容
它上面的方法只是用来确保模型实例级别的状态合法性的 ...
这些方法指的是?
认真看了几遍,,还是没有理解你的意思。惭愧。

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

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