在线试读

get_product_contenthtml

序  1

个人对DDD一直比较有兴趣,也包括企业架构设计、在DDD之前的领域分析如分析模式、彩色建模等。如果把软件按照相对的“稳定性”来排序,领域层>应用层>界面层。以营销为例,撬动用户的还是老三样:卡、券、积分,本质就是营销资产 资金流,而从产品包装上可以策划满减、满返、2件折扣、限时优惠、限定电商全场消费、限定活动线下商超、限定品类等活动,不一而足。领域层是相对稳定的,应用层(业务逻辑层和具体规则)可以有多种变化,而广义界面层的实质包括产品包装、交互等可以有更多的互动玩法。窃以为,领域分析的价值所在就是寻求“千变万化”中相对的“稳定性、性”,然后通过合理的架构分层及抽象隔离的业务复杂度和技术复杂度,隔离业务领域的稳定性和易变性,从架构上精巧、快速地支持业务的变化。 技术为业务服务,但绝不是业务到IT的简单翻译。

欧老师精于保险业务,对于DDD也有自己的理解和看法。从经典的DDD战略设计到基于微服务的战术设计/实现的案例,本书给出了全面的参考案例。知行合一,则“限界上下文”“实体”“值对象”“聚合”“事件”“事务一致性”等都不再神秘。本书也有一些可喜的创见,如对于“微前端”和“业务单元化”的提炼。本书以保险订单化销售业务领域为例,采用自顶向下策略,完成保险部分业务领域的中台设计,带领读者了解中台设计全流程,理解DDD、业务中台、微服务、微前端与单元化设计的关系以及它们的核心设计思想。

本书价值不菲,强烈推荐。无论对于DDD的初学者,还是DDD的资深人士,都有相应的启发。写作者的安慰莫过于读者觉得有价值,有收获。祝大家阅读愉快!

 

右军,《深入分布式缓存》《程序员的三门课》联合作者  

 

 

 

 

序  2

为不确定而架构

在过去的几年中,因为工作的关系,我同很多科技类企业和组织合作过。这些企业和组织分布在不同的行业和地区,从电信、金融到物流供应链,从国内到全球各地。几乎所有技术行业的同人在谈到未来的时候,都流露出了很强的改变意愿和紧迫感。例如今年出现的新冠肺炎疫情,以及围绕疫情在全球范围出现的一系列连锁反应,都导致大家逐渐形成了一个共识:世界已经从根本上改变,未来20年将要发生的事情,可能是我们今天根本无法想象的。在这样的背景下,每一个组织都希望能够通过加大科技的投入,赋能自己的客户和业务,从而做好应对未知挑战的准备。

另一方面,软件“侵蚀”世界已经是不争的事实,在国内的很多城市中,恐怕已经很难想象完全脱离软件的生活会是什么样子。即使我们不谈“不可见”的嵌入式软件和网络控制类软件,仅仅脱离了智能手机以及建于其上的各种App,我们熟悉的生活似乎将无法运转下去。新兴的科技公司,在利用软件技术打造新的场景,培养用户的使用习惯,创造新的业务价值的同时,也在倒逼前辈们对传统的业务进行数字化改造,以适应新时代下技术的变化速度。同时,科技公司又将自己的实践标准化、产品化,希望通过与传统企业的合作,加速整个行业变革的进程。20年前的SOA架构、6年前的微服务架构和3年前阿里的“中台”都是这种模式的很好代表。

客户习惯的改变,技术的发展和快速演进,以及在一些行业出现的外力作用,都带来了价值、场景、技术、政策的不确定性。所有不确定性的综合,使得软件的构建过程一定会面对这样的窘境:软件永远跟不上业务变化。为了解决这样的问题,业界的前辈们一直在通过管理、技术、工具平台等多种维度来解决同一个问题:如何使软件的构建具备更高的响应力。敏捷、精益、DevOps、效能平台都是为解决这个问题而出现的解决方案。在这个过程中,“如何在复杂业务场景下设计软件”逐渐成为架构师们关注的焦点。领域驱动设计(以下简称DDD)的提出,恰恰解决了这一问题。但是在2010年之前,因为单体应用仍然占据主流地位,DDD“曲高和寡”。直到“微服务”的出现,才消除了原来单体应用的桎梏,使得DDD成为架构师们都在讨论的软件架构设计标准实践。

近年来,DDD在国内的影响力逐年增大。我仍然记得在2015年前后和企业交流的时候,当时大家对于什么是DDD完全摸不着头脑,很多组织直接把源自“产品线工程”的“领域工程”和DDD作为相同的概念加以实践。2017年我们举办了届DDD中国峰会,那时有很多参与的同行对于DDD如何在自己的组织、场景中落地还存有这样或那样的疑虑。而到2019年的第三届峰会时,大家更多是带着问题和经验来和业界的同行们一起交流心得,探索在新场景下如何利用DDD带来更多的价值。

我和欧创新老师正是在这样的背景下认识的。欧老师在过去几年中将DDD的思想、微服务以及中台的理念同自己企业的实际相结合,积累了丰富的实践经验。每一次和欧老师交流,我都能学到很多东西。当欧老师找到我为这本书作序的时候,我既受宠若惊,又诚惶诚恐。在拜读完本书后,我惊讶于在这么短的时间内,欧老师不仅将自己获得的经验提炼总结,还用通俗易懂的语言和丰富的案例,将DDD、微服务、中台的概念和围绕在它们周围的实践讲述得如此详细。本书确实是业界难得的一个针对架构设计和中台转型的技术层面的总结,我个人从中获益匪浅,相信本书的读者朋友会和我有同样的体会。

 

王威

ThoughtWorks中国区技术战略咨询服务负责人