张逸说

出口成张,逸派胡言

0%

《解构领域驱动设计》在领域驱动设计统一过程的指导下,将该过程的全部三个阶段作为本书的三个核心篇章:全局分析、架构映射与领域建模,再辅以开篇和融合,共分为五篇二十五章,全面而完整地表达了我对领域驱动设计的全部认知与最佳实践。

阅读全文 »

蔡了戴着耳机一边哼着歌一边晃着头沉浸在自己的音乐世界里。8点45分,距离早会还有半个多小时,放松一下,抽空自娱自乐!

“蔡了!”办公室传来中气十足的呼唤声,似乎整个写字楼都回荡着蔡了的名字。

“哎,明明就只隔几个工位,还要吼得整栋楼都听得到,不明真相的,还以为我又犯什么错了呢!”蔡了一边腹诽着,一边回应着“来了来了”,丢下耳机就向马大叔的工位跑去——没办法,头儿的呼唤,怎敢不从?

“马大叔!什么事啊?不会我的代码又没写好吧?”蔡了看着电脑屏幕的光线投射在马丁花那张老脸上,阴晴不明,心里一紧,说话也变得小心翼翼起来。

“没事就不能叫你?”马丁花脸一板,像指挥军队的将军一般将手一挥,说到:“过来,过来!我今早一来就pull了代码,正好看到你提交的代码。”

阅读全文 »

写下本书内容第一个字的具体时间已不可考,从文档创建的时间看,本书的写作至少可以追溯到2017年11月,屈指算来,距今已是三载光阴流逝而过,为了本书,我已算得上呕心沥血。回想这悠悠三年,无论在万米高空的飞行途中,还是在蔚蓝海边的栖息之旅,抑或工作之余正襟危坐书桌之前,我的心弦一刻不敢放松,沉思于体系的构建,纠结于案例的选择,锱铢必较于每个文字的运用,我力求输出最好的文本,希望打造领域驱动设计技术书籍的经典!

我在ThoughtWorks的前同事滕云开我的玩笑,说:“老人家,你写完这本书,也就功德圆满了!”老人家是我在ThoughtWorks的诨名,虽然我对此称呼一直敬谢不敏,不过写作此书至今,我已心力交瘁,老人家的称谓也算名实相副了,至于是否“功德圆满”,就要交给读者诸君来品评了。本书内容主要来自我在GitChat发布的课程《领域驱动设计实践》。该课程历经两年,完成于2020年1月21日。当时的我,颇有感慨地写下如此后记:

课程写作结束了。战略篇一共 34 章,15 万 5 千字;战术篇一共 71 章,35 万 1 千字;合计 105 章,共 50 万 6 千余字,加上两篇开篇词与这篇可以称为写后感的后记,共108 章,算是凑齐了一百单八将。如此成果也足可慰藉我为之付出的两年多艰辛时光!

我对《领域驱动设计实践》课程的内容还算满意,然而,随着我对领域驱动设计理解的蜕变与升华,我的“野心”也在不断膨胀,不仅希望讲清楚该如何实践领域驱动设计,还企图对这套方法体系进行深层次的解构。这也是本书书名《解构领域驱动设计》得名的由来。

阅读全文 »

《解构领域驱动设计》目录

本书经过近4年的准备和写作,基于GitChat《领域驱动设计实践》战略篇和战术篇的内容,我又历经一年的时间来打磨本书,相信本书呈现给读者的内容已经达到我目前的极限了。书名暂定为《解构领域驱动设计(Domain-Driven Design Explained)》,说明了我的“野心”也罢,“宏图”也罢,就是要全方位的解构领域驱动设计这一套方法体系。

一些订阅了我的GitChat课程的同学可能会问,这本即将出版的纸质书与GitChat课程有什么差别呢?实际上,基于线上更新的写作方式,进度压力颇大,很多内容缺乏系统的梳理,在写作时,难免会有前后矛盾、重复之处,有的内容待写在后面会有更深刻的理解,因为时间关系,也就没有来得及调整。当然,这些内容差别都是细节差异,最主要的差别还是因为我重新梳理了DDD的体系,提出了所谓的“领域驱动设计统一过程(Domain-Driven Design Unified Process)”。

总结出的这个过程对我而言意义重大,正是因为有此过程,我整本书的结构才明晰起来,有了一个前后呼应且成体系的目录结构,这个过程还弥补了我一直认为非常重要的“需求分析”的知识,因为我一直认为要做到好的领域驱动设计,必须要有好的需求分析为基础。于是,针对这套统一过程,我对GitChat课程的内容做了全方位的手术,如果仅仅是对比文字,你会发现纸质版的内容很少与GitChat课程内容重复,并非我对内容做了彻底改写,而是对内容做了修改、修饰和调整,改变了原来内容相对粗糙的一面,这也是为何从GitChat课程到纸质书的完成,居然花了我一年时间的缘故。

阅读全文 »

前言

在实施领域驱动设计的过程中,限界上下文(Bounded Context)扮演了关键角色:它既是维护领域模型完整性与一致性的重要边界,又是系统架构的重要组成部分。随着社区对限界上下文的重视,越来越多的人开始尝试将更多的架构实践与限界上下文融合在一起,创造出符合领域驱动设计的架构模式。

Eric Evans 在领域驱动设计中引入了分层架构(Layered Architecture),目的是希望能够分离领域,这意味着该模式本身是作用在整个系统层次。Vaughn Vernon 在《实现领域驱动设计》一书中,将 Alistair Cockburn 提出的六边形架构(Haxagonal Architecture)引入到领域驱动设计中,并将其与限界上下文结合在一起,清晰地体现了它内部的视图。这一模式的引入,实际上代表着限界上下文在架构中的核心地位。

阅读全文 »