点击阅读原文进京东购买

右军:

领域驱动设计方面的书现在不是太多,而是太少。想必不少读者受过《领域驱动设计》和《实现领域驱动设计》两本书的启蒙。本书是我特别推荐的领域驱动设计方面的技术书,为何特别推荐,且听下文。

大约在2007年,我第一次读《领域驱动设计》一书时,如读天书,主要记住了类似实体、值对象、工厂、仓储等概念。近年来,随着微服务的流行,国内对领域驱动设计的研究和实践愈发多了起来。

我对领域驱动设计的态度是:相对于战术设计,应该更看重战略设计。数年前,我醉心于研究领域模型。领域是业务变化中接近不变性的部分,业务包括领域对象、业务逻辑和界面交互3个层次,其中领域对象是最稳定的。2015年我组织领域建模工作坊活动时,用的就是《分析模式:可复用的对象模型》一书中的一个需求场景。2016年我写了一篇文章,强调了问题域和解决方案域的区分。张逸兄在GitChat上的两个连载专栏历时两年,创作数十万字,内容之丰满,关键节点探讨之深刻,于我之所见,浩瀚领域专家,无出其右者。虽大家都各自奔忙,仅偶有线上问候或者面聊,但皆有受益。本书的成书过程尤其令人钦佩,张逸兄不是直接将专栏调整成书,而是重新组织架构,提炼出自己的方法体系,可以说是推陈出新,自成一家。

张逸兄敢言人之所未言。领域驱动设计有四大不足:领域驱动设计缺乏规范的统一过程,领域驱动设计缺乏与之匹配的需求管理体系,领域驱动设计缺乏规范化的、具有指导意义的架构体系,领域驱动设计的领域建模方法缺乏固化的指导方法。他创造性地提出领域驱动设计统一过程,虽然此方法有无调整空间,一定是要在不断实践中去检验的,但单就他的这份胆识和专业,足以让人钦佩。

如果说非要给本书提一点儿意见的话,我觉得本书有点儿厚了。我认为一本好书也要兼顾读者的情况,最好能达到让读者快速上手的学习效果。但张逸兄坚持让本书以集大成者的面貌出现,洋洋洒洒数十万字,力求让其成为一本值得珍藏的技术书。

凡学习,须循序渐进。我建议读者把面向对象的分析(object-oriented analysis,OOA)、面向对象的设计(object-oriented design,OOD)、统一建模语言(unified modeling language,UML)、模式等相关知识作为阅读本书的前序内容。《领域驱动设计》一书也特别提到了“复杂性”,有一定的软件从业经验的朋友对“复杂性”更感同身受。

每个人心中都有一个哈姆雷特,每一位读者都可以登临领域驱动设计的阁楼,从不同的角度或俯瞰、或仰望、或凝视。我之所得:于道,是对限界上下文特别有共鸣的部分,以及问题空间(域)与解空间(域);于术,是作者提出的领域驱动设计的“三大纪律八项注意”,可作为团队执行作战任务的纪律规范。其中,“三大纪律”是实施领域驱动设计的准则:

  • 领域专家与开发团队在一起工作;

  • 领域模型必须遵循统一语言;

  • 时刻坚守两重分析边界与四重设计边界。

信笔至此,兹为张兄推荐。本书精彩之处甚多,留待读者去发现。祝阅读愉快!

作者:于君泽(右军),技术专家,《深入分布式缓存:从原理到实践》《架构宝典》和《程序员的三门课:技术精进、架构修炼、管理探秘》联合作者。

❀❀❀

从架构演进谈 DDD 兴起的原因以及与微服务的关系

2021-06-30

ThoughtWorks专家:使用 DDD 指导微服务拆分的逻辑

2021-04-15

这 3 种 DDD 分层架构的模式,你掌握了么?

2021-03-30

DDD专家张逸:复杂与架构演进的关系

2021-03-29

滕云:DDD实现之路

2021-03-25

领域驱动设计(DDD)前夜:面向对象思想

2021-03-22

领域驱动设计(DDD):领域和子域

2021-03-18

右军:为张逸《解构领域驱动设计》推荐序相关推荐

  1. DDD专家张逸:《解构领域驱动设计》前言

    张逸 读完需要 5 分钟 速读仅需 2 分钟 述说撰写<解构领域驱动设计>一书的心路历程,三年磨一剑的认真态度与艰辛苦楚,如今写作完毕,也算是苦尽甘来.本书将由人民邮电出版社异步图书社区出 ...

  2. 三年磨一剑,领域驱动设计布道师出版了《解构领域驱动设计》

    解构领域驱动设计 作者:张逸 本书全面阐释了领域驱动设计(domain-driven design,DDD)的知识体系,内容覆盖领域驱动设计的主要模式与主流方法,并在此基础上提出"领域驱动设 ...

  3. DDD专家张逸:构建领域驱动设计知识体系

    张逸 读完需要 5 分钟 速读仅需 2 分钟 领域驱动设计专家,曾就职于 ThoughtWorks,作为 Lead Consultant 为客户提供架构设计.大数据分析.持续交付.代码质量.敏捷管理等 ...

  4. 解构领域驱动设计(三):领域驱动设计

    在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现.再回顾一下领域驱动设计的分层中应用层代码的实现. @Override public void pay(int orderId ...

  5. 张逸解构DDD:软件的核心是为用户解决领域相关的问题

    软件的核心是其为用户解决领域相关的问题的能力.所有其他特性,不管有多么重要,都要服务于这个基本目的.--EricEvans,<领域驱动设计> 应对软件复杂度,许多顶尖的软件设计人员与开发人 ...

  6. 阿里文娱技术专家战獒: 领域驱动设计详解之What, Why, How?

    战獒 阿里文娱技术专家 读完需要 8 分钟 速读仅需 3 分钟 阿里妹导读:什么是领域驱动设计?传统分层架构在实际开发中存在哪些问题?业务开发人员如何设计并搭建自己的领域模型?阿里文娱技术专家战獒将为 ...

  7. 领域驱动设计(DDD)前夜:面向对象思想

    面向对象 面向对象是一种对世界理解和抽象的方法.那么对象是什么呢? 对象是对世界的理解和抽象,世界又代称为万物.理解世界是比较复杂的,但是世界又是由事物组成的. 正是这样的一种关系,认识事物是极其重要 ...

  8. 解读《领域驱动设计 软件核心复杂性应对之道》(一)

    最近学习了两遍<领域驱动设计 软件核心复杂性应对之道>.这本书是2000年出头由一个老外写的.然后经过了国人翻译. 2000年出头,技术架构还没有现在这么多好用的工具,也没有云原生的概念. ...

  9. 京东平台研发朱志国:领域驱动设计(DDD)理论启示

    朱志国 平台研发 读完需要 33 分钟 速读仅需 11 分钟 过去几年,通天塔一直处于快速的业务能力建设和架构完善的阶段,以应对不断增长的业务需求和容量.高可用等技术需求,现在通天塔平台已经能满足集团 ...

最新文章

  1. php注释idea设置,IDEA对类生成注释以及自己定义代码生成方式
  2. Unity3d碰撞检测始终是个问题。
  3. Documentum常见问题2—压力测试时一旦用户数超过一定数量就不能登录了
  4. 基于AppDomain的插件式开发
  5. 30款最好的 Bootstrap 3.0 免费主题和模板
  6. 操作篇 ospf认识和应用
  7. 动手学无人驾驶(6):基于IMU和GPS数据融合的自车定位
  8. MySQL将表中的yes改成no_mysql在不需要改程序的情况下通过操作数据库对单表数据量大的表进行分表...
  9. 梳理数仓FI manager节点健康检查逻辑
  10. 流API--流的映射
  11. 一级标题居中,二级标题固定缩进
  12. 苹果手机速度慢_你玩手机的时候,Ta在用APP学日语 (安卓版APP,苹果也适用)...
  13. with/as 用法
  14. 下楼放风,树上掉下一只斑鸠小鸟
  15. C#Code128条形码生成
  16. 分门别类刷leetcode——动态规划(C++实现)
  17. 手机拍的照片计算机内存不足怎么办,手机内存不够用,照片应该怎么处理才能够少占用内存?...
  18. 【回文数】求11到n之间(包括n),既是素数又是回文数的整数有多少个。 输入 一个大于11小于1000的整数n。 输出 11到n之间的素数回文数个数。 样例输入 Copy 23 样例输出 Copy 1
  19. Android属于绑定服务特点是,Android P HIDL服务绑定模式与直通模式的分析 (原创)
  20. web学习-项目练习-No.4-朋友圈

热门文章

  1. 写html前端代码的软件_html用什么软件编写
  2. mysql触发器调用存储过程出错_mysql 触发器中调用存储过程
  3. mysql souece 慢_Mysql InnoDB在linux下用source命令执行sql脚本速度慢的问题解决
  4. 矩阵的运算及其运算规则
  5. libjpeg(1)
  6. 判断素数或者求出素数的基本算法 《挑战程序设计竞赛》
  7. Windows自带渗透工具Certutil介绍(免杀、哈希计算、md5、sha256、下载文件、base64编码)
  8. linux下c/c++实例之socket服务器实例
  9. 分布式事物一致性设计思路
  10. python中的参数