领域驱动设计工作坊
上QQ阅读APP看书,第一时间看更新

第1章 领域驱动设计体系

随着互联网业务和技术的持续发展,软件系统自身也日益复杂。在现实中,绝大多数软件开发工作都是围绕现实业务问题而展开的,而业务问题的复杂度是软件开发成功的关键因素之一。那么,如何有效应对系统的复杂度?DDD可以帮助人们更好地实现这一目标。

本章首先围绕软件复杂度的概念和表现形式进行深入剖析,继而引出DDD、设计思想和方法。从设计思想上说,DDD为开展系统建模工作提供了一种崭新的模式。而在设计方法上,DDD则在战略设计和战术设计这两大维度上给出了全面的工程实践。借助DDD,我们可以实现从面向业务的问题空间映射到面向技术的解空间,并应对软件复杂度所带来的技术挑战。

当下,DDD应用越来越广泛,无论是传统的单体系统,还是主流的微服务架构或中台架构,都可以从架构模式角度出发与DDD进行融合。在本章的末尾,我们将讨论领域驱动设计与这些主流架构之间的关联关系和融合方法。