领域驱动设计模式的收益与挑战:系统综述

作者:贾子甲; 钟陈星; 周世旗; 荣国平*; 章程
来源:软件学报, 2021, 32(09): 2642-2664.
DOI:10.13328/j.cnki.jos.006275

摘要

背景:近年来,领域驱动设计(domain driven design,简称DDD)作为一种软件设计方法在业界中逐渐流行起来,并形成了若干应用的固有范式,即领域驱动设计模式(domain driven design pattern,简称DDDP).然而,目前软件开发社区却仍然对DDDP在软件项目中的作用缺少较为全面的了解.目的:旨在揭示DDDP的应用情况,即哪些DDDP被应用到了软件开发中,以及其所带来的收益、挑战及相应的缓解挑战方法.方法:应用系统化文献综述方法,对2003年~2019年7月之间发表的相关文献进行了识别、筛选、汇总和分析.结果:通过结合手动检索、自动检索和滚雪球等过程,覆盖了 1 884篇相关文献,经过筛选,最终得到26篇高质量文献,对应26个独立的研究.总结了基础研究中DDDP的应用概况,即已经被应用到软件开发中的DDDP以及应用DDDP所获得的11项收益、17个挑战以及相应的缓解挑战方法.结论:因为对领域知识非常重视,领域驱动设计能够帮助实践者更好地进行软件设计,但在具体应用领域驱动设计模式时却存在着诸多挑战.虽然目前存在一些缓解方法能够在一定程度上应对挑战,但是仍然存在很多不足.通过系统文献综述,填补了学术界在这一领域的空白.考虑到DDDP的实践价值与当前理论成熟度的不匹配,未来工业界和学术界应该给予该领域更多关注.

全文