美文网首页
3.专注核心领域

3.专注核心领域

作者: 鸿雁长飞光不度 | 来源:发表于2022-07-25 00:14 被阅读0次

    DDD强调对核心领域投入最多的资源和精力,以便支持业务的发展。

    1. 为什么要分解问题域?

    复杂的系统往往有许多个小系统和组件构成,资源和精力成本有限,做不到也没有必要都进行完美设计,核心领域关系到系统成败。

    1. 如何专注核心问题

    基于和业务专家沟通得到的领域知识,将业务领域划分为一个个子域,子域分为以下几种。

    • 核心域:决定业务成败的关键,一定会随着业务演化,保持竞争力,不能采购,否则会丢失业务核心优势。
    • 支撑域:为业务提供辅助功能的领域,比如推荐系统、广告系统。
    • 通用域:为许多业务提供支撑功能的领域,比如邮件、消息、推送、日志、监控等等。

    3.系统中并非都要进行完美设计

    • 专注清晰的边界而非完美的模型
      很多业务很早之前就是单体应用,随着时间发展,很可能存在不完美的区域,清晰的边界可以将不完美的区域隔离开来,减少影响(后续会在上下文映射相关部分介绍)。
    • 一开始核心领域模型不总是完美的

    业务早期更看重的是交付速度而非灵活设计,因为企业本身也不知道业务是否会成功,更多的是一种探索尝试状态,如果业务产品是成功的,那么需要重构代码支持产品演化。

    • 没有核心域怎么办?

    如果所开发的都是支撑域或者通用域,没有必要使用DDD的模型驱动设计浪费精力。

    相关文章

      网友评论

          本文标题:3.专注核心领域

          本文链接:https://www.haomeiwen.com/subject/ujawirtx.html