Page 37 - 《软件学报》2021年第9期
P. 37

贾子甲  等:领域驱动设计模式的收益与挑战:系统综述                                                       2661


         6    总结与展望

             本文面向领域驱动设计模式这一主题进行了系统文献综述,通过对 2003 年~2019 年 7 月的研究文献进行
         识别、检索、筛选和分析,最终综合 26 篇高质量基础研究来回答所本文所提出的研究问题.本文提供了学术界
         对于 DDDP 应用的研究现状概览,同时比较全面地综述了基础研究中应用 DDDP 带来的收益、挑战以及应对
         挑战的缓解方法.
             一方面,本文的研究表明:由于重视领域知识,实践者往往能够借助 DDDP 设计出良好的软件,并享受到其
         所带来的收益,如架构质量改善和代码意图清晰.另一方面,本文的数据综合结果表明:46.4%的基础研究认为在
         DDDP 的实践中存在很多困难,并将其总结为 17 个挑战.本研究中还发现了 17 种缓解方法,用于应对上述提到
         的部分挑战.虽然这些缓解方法还不足以完美地支撑 DDDP 的应用实践,但是它们代表了实践者所付出的努力.
         正是这些该领域的理论和研究的不完善之处,为研究者和实践者们提供了更加广阔的探索空间.
             目前,应用领域驱动设计模式在实践中的价值得到了比较广泛的认可,但对于如何更好地享受其所带来的
         收益,以及更加合理地应对其带来的挑战,则需要研究者进一步探索.与此同时,在软件工程中,没有任何一种技
         术能够称为“银弹”,因此,应用各种 DDDP 所带来的局限或者挑战,仍需要未来进一步探索和反思.

         References:
          [1]    Evans E, Wrote; Zhao L, Sheng HY, Liu X et al., Trans. Domain-driven Design: Tackling Complexity in the Heart of Software.
             Beijing: Posts & Telecom Press, 2003 (in Chinese).
          [2]    Newman S, Wrote; Cui LQ, Zhang J, Trans. Domain-driven Design Quickly. Beijing: Posts & Telecom Press, 2016. (in Chinese).
          [3]    Nilsson J. Applying Domain-driven Design and Patterns: With Examples in C# and. NET. Pearson Education, 2006. 28−44.
          [4]    Vernon V. Implementing Domain-driven Design.1st ed. Addison-Wesley, 2013. 28−82.
          [5]    Millett S, Tune N. Patterns, Principles, and Practices of Domain-driven Design. John Wiley & Sons, 2015. 17−22.
          [6]    Bruhiere  X. Use domain-driven design to  architect  your  cloud  apps. IBM, 2018. https://developer.ibm.com/tutorials/cl-domain-
             driven-design-event-sourcing
          [7]    Alibaba  T.  Creating  coding  excellence with domain-driven design. Medium, 2018. https://medium.com/swlh/creating-coding-
             excellence-with-domain-driven-design-88f73d2232c3
          [8]    Newman S. Building Microservices: Designing Fine-grained Systems. O’Reilly Media, Inc., 2015. 1−8.
          [9]    Rademacher F, Sorgalla  J, Sachweh S. Challenges of domain-driven  microservice design:  A  model-driven  perspective. IEEE
             Software, 2018,35(3):36−43.
         [10]    Zhang H, Li S, Jia Z, Zhong C, Zhang C. Microservice architecture in reality: An industrial inquiry. In: Proc. of the 2019 IEEE Int’l
             Conf. on Software Architecture (ICSA). IEEE, 2019. 51−60.
         [11]    Singh M, Sharma  A, Saxena  R. Formal  transformation of uml diagram:  Use  case,  class, sequence diagram  with  z notation for
             representing the  static  and dynamic  perspectives of system.  In: Proc. of the Int’l  Conf. on ICT for Sustainable  Development.
             Singapore: Springer-Verlag, 2016. 25−38.
         [12]    Bogner J, Fritzsch J, Wagner S, Zimmermann A. Microservices in industry: Insights into technologies, characteristics, and software
             quality. In: Proc. of the 2019 IEEE Int’l Conf. on Software Architecture Companion (ICSA-C). Hamburg: IEEE, 2019. 187−195.
         [13]    Jorgensen M, Shepperd M.  Asystematic review of software development  cost  estimation studies. IEEE  Trans. on Software
             Engineering, 2007,33(1):33−53.
         [14]    Budgen D, Burn AJ, Brereton OP, Kitchenham BA, Pretorius R. Empirical evidence about the UML: A systematic literature review.
             Software: Practice and Experience, 2011,41(4):363−392.
         [15]    Shahin M,  Babar MA, Zhu L.  Continuous integration,  delivery and  deployment: A  systematic  review  on approaches,  tools,
             challenges and practices. IEEE Access, 2017,5:3909−3943.
         [16]    Fowler M. Patterns of Enterprise Application Architecture. Boston: Addison-Wesley Longman Publishing Co., Inc., 2002. 22−31.
         [17]    Larman C. Agile and Iterative Development: A Manager’s Guide. Addison-Wesley Professional, 2004. 128−140.
         [18]    Kitchenham BA, Budgen D, Brereton P. Evidence-Based Software Engineering and Systematic Reviews. CRC Press, 2015. 3−9.
   32   33   34   35   36   37   38   39   40   41   42