DDD领域驱动设计落地实践案例分析 -- 知识铺
DDD领域驱动设计落地实践案例分析
- 思想:DDD的思想源于2003年Eric Evans编写的“Domain-Driven Design领域驱动设计”1。DDD是一套综合软件系统分析和设计的面向对象建模方法1。
- 服务器后端发展三个阶段1:
- 面向过程脚本
- 面向数据库表
- 面向业务模型:DDD+SOA微服务的事件驱动的CQRS读写分离架构
- DDD最大特点:领域模型准确反映了业务语言,而传统微服务数据对象除了简单setter/getter方法外,没有任何业务方法,即失血模型,那么DDD领域模型就是充血模型(业务方法定义在实体对象中)1。
- 领域模型设计:以渠道中心(一个微服务)作为例子来做领域模型设计,核心就是设计2个图,一个是战略设计图(宏观),一个是战术设计图(细节)1。
- 技术实现:整体项目框架分层图如下所示1:
- 展现层:controller层。无业务逻辑
- 应用服务层:此层可以包含查询逻辑,但核心业务逻辑必须下沉到领域层。
- 领域服务层:业务在这里组装。仓储(资源库)接口在此层定义。
- 基础设施层:仓储(资源库)实现层+PO持久化层。
- 总结:DDD可以尝试,但不建议主流业务硬上。建议浅尝即止1。
以上是对DDD领域驱动设计落地实践的一个简单分析,希望对你有所帮助。如果你需要了解更多关于DDD的理论知识,可以参考相关书籍进行学习1。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek001/post/20240710/DDD%E9%A2%86%E5%9F%9F%E9%A9%B1%E5%8A%A8%E8%AE%BE%E8%AE%A1%E8%90%BD%E5%9C%B0%E5%AE%9E%E8%B7%B5%E6%A1%88%E4%BE%8B%E5%88%86%E6%9E%90--%E7%9F%A5%E8%AF%86%E9%93%BA/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com