想问各位大佬一个问题,在自己的业务中明确定义几个领域模型:VO、BO、DO、DTO 了吗?
来源:云原生后端社区
https://www.yuque.com/server_mind/answer
首先纠正一下啊,DDD 中并没有明确说有 VO,BO,DO 等,这些不管是领域驱动,还是 Spring 似乎形成的一个规则而已,并不是用来建模用的。mvc 分层架构用的非常多。DDD 真正有说明的是实体和值对象的定义。实体和值对象都是针对场景的,不同场景下互相转化。address 对象也不能完全定义为值对象,如果对于订单来说可能是值对象,因为订单不关注地址到底是哪个人,如果是配送部门需要区分不同的收获人地址的时候就是实体。ddd需要做大量的训练才能玩,只是按照概念去套,最后就四不像。而且 ddd 出来这么多年了,为什么到了微服务才真正火起来?单体分布式时代,就有很多人搞了,但 ddd 对团队要求较高,而且实践起来较复杂,尤其 spring 出来后用的贫血模型,大家发现这种模型对于中小项目非常适用,分层简单,扩展方便,所以就火了。但是现在微服务时代,很多公司其实也并没有用 ddd 的战术模型,也就是实体值对象这些,而是大量使用了战略模型,通过问题域和事件风暴的方式,找到了核心域和限界上下文,从而帮助我们拆分微服务。
来源:云原生后端社区
https://www.yuque.com/server_mind/answer
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。