基于领域驱动设计的工程脚手架生成方法、装置和设备与流程

文档序号:35342563发布日期:2023-09-07 13:20阅读:55来源:国知局
基于领域驱动设计的工程脚手架生成方法、装置和设备与流程

本发明涉及计算机,尤其涉及一种基于领域驱动设计的工程脚手架生成方法、装置和设备。


背景技术:

1、领域驱动设计(domain driven design,简称ddd)是埃里克.埃文斯(eric evans)在2004年发表的《领域驱动设计》(domain-driven design-tackling complexity in theheart of software)著作中提出的一种解决业务复杂性的设计思想。

2、相关技术中,可以采用ddd模式设计微服务。如图1所示,采用ddd模式设计的微服务采用四层架构分层,包括:接口层、应用层、领域层和基础设施层。其中,接口层负责向外暴露微服务的接口,提供相关的功能服务;应用层负责提供应用服务和进行接口层和领域层的对象转换;领域层是核心层,所有的业务模型和业务逻辑都被隔离在领域层中;基础设施层负责向其他层提供通用的技术和基础服务,包括图1所示的中间适配器、第三方工具、公共技术组件、数据库适配器、事件总线、南向网关等。

3、然而,由于微服务设计是允许迭代更新的,当需要生成新版工程脚手架时,在旧版工程脚手架完成的业务代码就需要对应迁移到新版工程脚手架上,若新版工程脚手架与旧版工程脚手架相比,关于微服务设计变化的内容很多,那么,代码迁移的成本就会很高,代码架构的保鲜就会成为一个降低开发效率、阻碍开发进度的问题,因此,如何实现不同版本工程脚手架之间较为平滑地迁移代码是值得研究的。


技术实现思路

1、本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

2、为此,本发明的第一个目的在于提出一种基于领域驱动设计的工程脚手架生成方法,以通过在生成的工程脚手架中新增包括接口包、应用包和领域包的逻辑实现包,实现在工程脚手架中的接口包、应用包和领域包中提供相关定义,在逻辑实现包包括的接口包、应用包和领域包内实现业务逻辑,将业务逻辑与系统设计分离,便于不同版本工程脚手架之间较为平滑地迁移代码。

3、本发明的第二个目的在于提出一种基于领域驱动设计的工程脚手架生成装置。

4、本发明的第三个目的在于提出一种电子设备。

5、本发明的第四个目的在于提出一种计算机可读存储介质。

6、本发明的第五个目的在于提出一种计算机程序产品。

7、为达上述目的,本发明第一方面实施例提出了一种基于领域驱动设计的工程脚手架生成方法,包括:

8、获取目标微服务系统的系统信息、接口信息、应用服务信息、领域服务信息、领域模型信息和数据模型信息;

9、根据所述目标微服务系统的接口信息,生成所述目标微服务系统对应的目标工程脚手架的接口包;其中,所述接口包用于提供所述目标微服务系统的接口定义;

10、根据所述目标微服务系统的应用服务信息,生成所述目标工程脚手架的应用包;其中,所述应用包用于提供所述目标微服务系统的应用服务定义;

11、根据所述目标微服务系统的领域服务信息和领域模型信息,生成所述目标工程脚手架的领域包;其中,所述领域包用于提供所述目标微服务系统的领域服务定义和领域模型定义;

12、根据所述接口包、所述应用包和所述领域包,生成所述目标工程脚手架的逻辑实现包;其中,所述逻辑实现包用于在所述逻辑实现包包括的所述接口包、所述应用包和所述领域包内实现业务逻辑;

13、根据所述目标工程脚手架的系统信息和数据模型信息,生成所述目标工程脚手架的基础设施包;其中,所述基础设施包用于提供所述目标微服务系统的系统定义、数据模型定义和实现业务逻辑。

14、为达上述目的,本发明第二方面实施例提出了一种基于领域驱动设计的工程脚手架生成装置,包括:

15、获取模块,用于获取目标微服务系统的系统信息、接口信息、应用服务信息、领域服务信息、领域模型信息和数据模型信息;

16、第一生成模块,用于根据所述目标微服务系统的接口信息,生成所述目标微服务系统对应的目标工程脚手架的接口包;其中,所述接口包用于提供所述目标微服务系统的接口定义;

17、第二生成模块,用于根据所述目标微服务系统的应用服务信息,生成所述目标工程脚手架的应用包;其中,所述应用包用于提供所述目标微服务系统的应用服务定义;

18、第三生成模块,用于根据所述目标微服务系统的领域服务信息和领域模型信息,生成所述目标工程脚手架的领域包;其中,所述领域包用于提供所述目标微服务系统的领域服务定义和领域模型定义;

19、第四生成模块,用于根据所述接口包、所述应用包和所述领域包,生成所述目标工程脚手架的逻辑实现包;其中,所述逻辑实现包用于在所述逻辑实现包包括的所述接口包、所述应用包和所述领域包内实现业务逻辑;

20、第五生成模块,用于根据所述目标工程脚手架的系统信息和数据模型信息,生成所述目标工程脚手架的基础设施包;其中,所述基础设施包用于提供所述目标微服务系统的系统定义、数据模型定义和实现业务逻辑。

21、为达上述目的,本发明第三方面实施例提出了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面的基于领域驱动设计的工程脚手架生成方法。

22、为了实现上述目的,本发明第四方面实施例提出了一种存储有计算机指令的计算机可读存储介质,所述计算机指令用于使所述计算机执行前述第一方面的基于领域驱动设计的工程脚手架生成方法。

23、为了实现上述目的,本发明第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述第一方面的基于领域驱动设计的工程脚手架生成方法。

24、本发明实施例所提供的技术方案包含如下的有益效果:

25、通过获取目标微服务系统的系统信息、接口信息、应用服务信息、领域服务信息、领域模型信息和数据模型信息,实现根据目标微服务系统的接口信息,生成目标微服务系统对应的目标工程脚手架的接口包,其中,接口包用于提供目标微服务系统的接口定义,根据目标微服务系统的应用服务信息,生成目标工程脚手架的应用包,其中,应用包用于提供目标微服务系统的应用服务定义,根据目标微服务系统的领域服务信息和领域模型信息,生成目标工程脚手架的领域包,其中,领域包用于提供目标微服务系统的领域服务定义和领域模型定义,根据接口包、应用包和领域包,生成目标工程脚手架的逻辑实现包,其中,逻辑实现包用于在逻辑实现包包括的接口包、应用包和领域包内实现业务逻辑,根据目标工程脚手架的系统信息和数据模型信息,生成目标工程脚手架的基础设施包,其中,基础设施包用于提供目标微服务系统的系统定义、数据模型定义和实现业务逻辑。由此,通过在生成的工程脚手架中新增包括接口包、应用包和领域包的逻辑实现包,实现在工程脚手架中的接口包、应用包和领域包中提供相关定义,在逻辑实现包包括的接口包、应用包和领域包内实现业务逻辑,将业务逻辑与系统设计分离,便于不同版本工程脚手架之间较为平滑地迁移代码。

26、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1