写作之难,在于将 状的思想,通过树状的句法,用线性的文字展开
— 史蒂芬·平克《风格感觉:21世纪写作指南》
2004 年Eric Evans出版了领域驱动设计领域的第一本经典著作《Domain-Driven Design : Tackling Complexity in the Heart of Software》简称 DDD,中文版《 领域驱动设计:软件核心复杂性应对之道》。
图片来自于出版 异步 区
笔者结合英文版和中文版进行精读,如果说写作是将 状的思想,通过树状的句法,用线性的文字展开,那么阅读的过程则恰恰相反,是一个逆向的过程,这个过程的因人而异。
— 庖丁解架构
那我们回过头来看看 《领域驱动设计:软件核心复杂性应对之道》,首先看看书名,《领域驱动设计》其实没什么感觉,或者有些困惑和抽象,关键部分是副标题,软件核心复杂性应对之道,原来本书是提出了一种应对软件研发核心复杂性的方法论,这种方法被称作领域驱动设计。既然是应对之道了,“道可道,非常道”啊,说明已经上升到已经思想高度了,同时也提示和术有点儿距离了。这时候我们的脑海里应该涌现出以下三个问题:
至少20年前,一些顶尖的软件设计人员就已经认识到领域建模和设计的重要性,但令人惊讶的是,这么长时间以来几乎没有人写出点儿什么,告诉大家应该做哪些工作或如何去做。尽管这些工作还没有被清楚地表述出来,但一种新的思潮已经形成,它像一股暗流一样在对象 区中涌动,我把这种思潮称为领域驱动设计(domain-driven design)。
这句话放到现在 2021 年依然成立,值得欣慰的是出版了几本重要的著作,各个公司也已经有了一些具体的实践,要不是云原生应用和微服务的快速发展和普及,DDD 依然原地踏步。
(1)在大多数软件项目中,主要的焦点应该是领域和领域逻辑;
(2)复杂的领域设计应该基于模型。
书的结构
这本书分为四个部分
以上是《领域驱动设计:软件核心复杂性应对之道》的四个组成部分,至少目前笔者还不确定本是能不能解决前文提出的三个问题:
结合本书出版后的反响已经业界的反馈,笔者做出如下猜测:
笔者还有几个常识性的困惑,到底什么是领域?什么是领域模型?当大家在说领域和领域模型的时候在说什么?
书的读者
小结
通过精读《领域驱动设计:软件核心复杂性应对之道》前言部分,笔者认为本书值得继续精读,但是笔者关心的三个问题希望在正文中能够得到解决:
参考资料
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!