写点什么

DDD-1- 整体理解

作者:南山
  • 2024-08-19
    江苏
  • 本文字数:648 字

    阅读完需:约 2 分钟

结合各类 DDD 相关的书籍、专栏以及个人体会、实践总结,侵删。。。

软件团队的挑战

  • 交付周期

  • 交付质量

DDD 是什么

  • DDD 是一种开发复杂软件的方法

  • DDD 是一种开发复杂软件的系统化的方法学和思想

  • DDD 核心思想是通过领域驱动设计方法定义领域模型,从而确定业务和应用边界,保证业务模型与代码模型的一致性。

DDD 为什么火?

  • 第一:数字化时代的到来,使 DDD 变得非常有必要。

  • 数字化时代,技术逐渐成为企业核心竞争力,业务/系统更复杂,技术业务融合

  • 第二:DDD 普及的道路已经铺好,这项技术逐渐变得可行。

  • 第三:相关的架构实践也已经研究得比较透彻,像整洁架构、事件驱动架构以及 CQRS 等等,都有力地支持了 DDD 的落地实施。

DDD 的优势

  • 传统面向对象方法学的问题

  • 第一个原因是,很多开发人员走了一条只重技术不重业务的弯路。

    第二个原因是,围绕业务进行开发的方法本身就不好学。

    第三个原因是,早期面向对象方法学主要考虑的是建模技术,很少考虑协作问题

    最后一个原因是难以适应变化。

  • DDD 的解决之道

  • “领域”指的就是软件系统要解决的业务问题,也可以叫“业务领域”

    领域驱动设计非常强调业务人员和技术人员要一起协作进行领域建模

    DDD 提出了所谓“柔性设计”的概念,随着业务变化,将变化频繁的部分重构得越来越灵活,而不常变化的部分则保持不变

    提升认知

    业务领域认知不正确情况下的功能设计、开发、修修补补短期会有很大的收益和适用性,但是长期迭代之后代价会越来越高昂

  • 建立共识

DDD 全景图

ALPD:从分析到架构,到实现


领域:从领域到限界上下文,到聚合

核心元素及关系

落地整体过程:从模型建立,到模型实现


用户头像

南山

关注

采菊东篱下,悠然见南山~ 2018-05-04 加入

黄沙百战穿金甲,不破楼兰终不悔!

评论

发布
暂无评论
DDD-1-整体理解_DDD_南山_InfoQ写作社区