Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
关于领域模型与分层问题
10-04-06
spawnyy
大家好,现在我有点不太明白领域模型与服务的问题,领域模型是不是应该有行为,也就是说应该有的职责与业务逻辑,那么服务是做什么的呢,做事务和调用仓储么。还有业务逻辑与领域逻辑是一回事情么。现在觉得服务层有点多余,实在不清楚他负责什么,可领域模型有不能注入仓储类似其他东西,都要用Domain Event进行实现么。
banq
2010-04-06 11:32
关于服务定义,参考这个帖子:
http://www.jdon.com/jivejdon/thread/38325#23127646
服务是业务场景发生的地方,就象你把加油机和服务人员放在门口,就在门口提供加油服务,如果你放在房间内,就在房间内提供加油服务,但是,加油这个动作或职责不是由服务本身完成,服务本身是一个时间地点的结合点,是一个时间空间的交汇点,是业务场景发生的地方,但不是业务场景本身。
业务逻辑和领域逻辑从概念了上是差不多的,逻辑一般是指规则rule等静态的东西,逻辑要发生作用,必须被事件激活,事件被激活就讲究时间和空间,这点和服务又吻合。
服务是事件的入口,外部事件进入服务后,被服务传递给领域模型,由领域模型驱动相关服务或仓储或相关算法完成一定职责行为,这是一个方式,还可以专门设立一个场景对象,服务-->场景,在场景中注射服务或仓储或算法,完成相关场景的职责行为,这应该是两种目前不同实现方式。
取个正式名称,前面Domain Events应该成为
EDA
,事件驱动
架构
;后者可以认为是DCI架构,相关分支讨论见本帖的标签。
[该贴被banq于2010-04-06 11:33修改过]
Java程序分层架构
DDD领域服务
EDA事件驱动
DCI架构