领域建模:DDD设计模式

业务分析和领域建模致力于“Do the RIGHT thing”,而设计和实现致力于“Do the thing RIGHT”。前者远比后者重要。若是你已经南辕北辙了,那么,你跑的越快,离目标就越远。数据库

可是国内大多数的软件公司、团队和开发者,在业务分析和领域建模方面作得不够好,究其缘由,大概是由于:安全

  • 认识错误。觉得软件开发就是数据建模,以及针对数据的增删改查,彻底没想到须要领域建模。这样的开发模式每每是从现有数据库或报表入手,实现客户的表层需求,遗漏业务的本质机制。
  • 对业务分析和领域建模的重要性认识不足,把大部分资源和精力投放在编码实现上。 缺少领域建模方面的指导和训练,没法快速而深入地洞察业务领域的本质,所以造成的领域模型充满各类误解和缺陷。
  • 开发人员偏心钻研具体软件技术,不敢或不肯踏足业务领域分析。

若是建模不足(不够全面,不够深入,不够抽象),会产生下面的后果:编码

  • 你的软件不符合或不彻底符合客户的须要。
  • 你的软件只符合客户的浅层须要和当前须要,当客户须要有变化时(必然如此!),根本没法进行扩展和变动,或者须要对你的代码基作伤筋动骨的改动。
  • 你的软件只符合当前客户的须要,当须要移植给同行业的其余客户使用时,须要对你的代码基作伤筋动骨的改动。
  • 你的概念模型和技术实现紧密耦合,当须要技术升级或更换技术实现时,须要对你的代码基作伤筋动骨的改动。

好的领域模型深入反映了业务领域的本质,它不只知足客户的浅层须要,还能知足客户的深层须要;它不只知足客户的当前须要,还能知足客户的将来须要;它不只知足单一客户的须要,还能知足相同领域其余客户的须要。它使得软件能够快速、安全、低成本地进行扩展和修改,而不影响系统的主体结构。好的领域模型独立于软件技术实现,在软件技术快速升级换代的同时恒久地发挥做用。设计

相关文章
相关标签/搜索