有了解DDD架构的大佬吗

各位佬,我想把公司的MVC架构项目转成DDD架构,有什么资源可以推荐的哦,新人一头懵

DDD要服务于业务的,如果没有复杂的业务不太建议用。Mvc 和 DDD 的结构没有冲突的,慢慢往上面加类就可以了。
如果要转,你可以先从类这个原子改起。先尝试把某个类的职业进行聚合。

DDD(领域驱动设计)架构作为一种软件开发方法,着重以领域模型作为核心来开展软件设计与开发工作。该架构能够把业务领域的概念以及规则明晰地在软件设计里体现出来,对提升软件的可维护性、可扩展性以及业务适应性大有助益。在 DDD 架构当中,通常会针对业务领域实施深入分析并进行建模操作,把领域划分成不同的子域以及有界上下文,借助聚合、实体、值对象等概念来构建起领域模型。

你需要一个业务专家(全盘熟悉你们公司业务流程且能推动执行)+一个代码专家(多年编程经验且和业务专家配合默契),或者两者合二为一是同一个人,否则DDD就是纸上谈兵。

2 Likes

别吧。mvc 你遇到了存储层拆多个源了?c 层遇到多出口了?业务层搞不清逻辑了?

可以参考这个项目COLA 进行实践

COLA设计了领域事件,领域服务,聚合,cqrs,防腐层,符合DDD的架构【整洁架构】,唯一遗憾的是没有事件溯源,需要自行扩展,因为是基于spring框架,所以可以无缝衔接,用过的人都说好。
也有的建议:COLA中,对于一般公司,可以尝试把adapter层砍掉, 用appadapter合成一个更好

如果你看得一头雾水,可以先学习一下DDD神书: 《领域驱动设计:软件核心复杂性应对之道》 作者: Eric Evans,领域驱动设计之父

1 Like

如果业务模型不稳定,需求变更大,不要搞ddd,不要迷信架构模型,没有银弹

ddd ??? 你确定吗,不是极度复杂的业务不要ddd, 否则就是自己挖坑自己填

阿里的开源cola项目吧

zongzibinbin/MallChat: mallchat的后端项目,是一个既能购物又能聊天的电商系统。以互联网企业级开发规范的要求来实现它,电商该有的购物车,订单,支付,推荐,搜索,拉新,促活,推送,物流,客服,它都必须有。持续更新ing。。(点个star,不迷路) (github.com)
这个聊天项目是DDD架构

1 Like