设计模式推荐方法、装置、设备及存储介质制造方法及图纸

技术编号:34036029 阅读:46 留言:0更新日期:2022-07-06 12:19
本申请公开了一种设计模式推荐方法、装置、设备及存储介质。所述方法包括:根据业务场景、设计模式、源代码之间的对应关系得到训练数据,根据所述训练数据训练设计模式推荐模型;获取用户输入的业务场景需求参数;将所述业务场景需求参数输入训练好的设计模式推荐模型,得到推荐的一种或多种设计模式以及示例源码。根据本申请实施例提供的设计模式推荐方法,可以根据用户输入的具体业务需求产出对应的设计模式及示例源码,指导程序员进行编程,可以大大提高程序员的代码设计与编程能力。可以大大提高程序员的代码设计与编程能力。可以大大提高程序员的代码设计与编程能力。

Recommended method, device, equipment and storage medium of design mode

【技术实现步骤摘要】
设计模式推荐方法、装置、设备及存储介质


[0001]本申请涉及计算机
,特别涉及一种设计模式推荐方法、装置、设备及存储介质。

技术介绍

[0002]设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。合理快速的选择设计模式,可以大大提高程序员的代码设计与编程能力,提高程序员的工作效率。
[0003]但是现实中很多初级程序员不熟悉设计模式,无法将设计模式应用于实际编程中,导致代码的可用性、扩展性都大打折扣,使得后续开发与维护变得异常困难,无法很好地满足业务的需求。设计模式作为一种编程思想或规范,需要结合不同的业务场景来使用。对于不熟悉各种业务的程序员来说,采用哪种设计模式来编程也是一件非常困难的事情。目前市场上没有任何产品或方案来根据需求产出一种或多种设计模式来指导程序员编程。现有的很多设计模式相关的书籍和音视频也只是向读者介绍设计模式相关知识,并不能根据具体的需求来产出方案。

技术实现思路

[0004]本公开实施例提供了一种设计模式推荐方法、装置、设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
[0005]第一方面,本申请实施例提供了一种设计模式推荐方法,包括:
[0006]根据业务场景、设计模式、源代码之间的对应关系得到训练数据,根据训练数据训练设计模式推荐模型;r/>[0007]获取用户输入的业务场景需求参数;
[0008]将业务场景需求参数输入训练好的设计模式推荐模型,得到推荐的一种或多种设计模式以及示例源码。
[0009]在一个可选地实施例中,根据业务场景、设计模式、源代码之间的对应关系得到训练数据,包括:
[0010]提取业务场景的需求参数;
[0011]将需求参数与一个或多个设计模式进行配对,得到一个或多个包含需求参数与模式数据的键值对,其中,模式数据包括设计模式以及与设计模式对应的示例源码;
[0012]将键值对作为训练数据。
[0013]在一个可选地实施例中,提取业务场景的需求参数,包括:
[0014]获取业务场景需求描述文本;
[0015]采用预设的分词算法对需求描述文本进行分词,根据分词提取业务场景的需求关
键词;
[0016]根据需求关键词得到业务场景的需求参数。
[0017]在一个可选地实施例中,得到一个或多个包含需求参数与模式数据的键值对之后,还包括:
[0018]计算需求参数与其配对的多个模式数据之间的匹配得分;
[0019]根据匹配得分对键值对按照从高到低的顺序排序,并给键值对添加序列标签。
[0020]在一个可选地实施例中,将键值对作为训练数据,包括:
[0021]根据键值对的序列标签,将与每个需求参数匹配的前三个键值对作为训练数据。
[0022]在一个可选地实施例中,设计模式推荐模型为双向长短时记忆神经网络模型;
[0023]其中,双向长短时记忆神经网络模型包括顺序连接的输入层、嵌入层、丢弃层、全连接层、激活层、输出层以及归一化层。
[0024]在一个可选地实施例中,将业务场景需求参数输入训练好的设计模式推荐模型,得到推荐的一种或多种设计模式以及示例源码,包括:
[0025]将业务场景需求参数输入训练好的设计模式推荐模型;
[0026]设计模式推荐模型根据键值对的序列标签,输出排在第一位的键值对中的设计模式以及示例源码;
[0027]接收客户端返回的重新查询请求;
[0028]设计模式推荐模型根据键值对的序列标签,输出排在第二位的键值对中的设计模式以及示例源码;
[0029]接收客户端返回的重新查询请求;
[0030]设计模式推荐模型根据键值对的序列标签,输出排在第三位的键值对中的设计模式以及示例源码。
[0031]第二方面,本申请实施例提供了一种设计模式推荐装置,包括:
[0032]训练模块,用于根据业务场景、设计模式、源代码之间的对应关系得到训练数据,根据训练数据训练设计模式推荐模型;
[0033]获取模块,用于获取用户输入的业务场景需求参数;
[0034]推荐模块,用于将业务场景需求参数输入训练好的设计模式推荐模型,得到推荐的一种或多种设计模式以及示例源码。
[0035]第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述实施例提供的设计模式推荐方法的步骤。
[0036]第四方面,本申请实施例提供了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述实施例提供的设计模式推荐方法的步骤。
[0037]本公开实施例提供的技术方案可以包括以下有益效果:
[0038]根据本申请实施例提供的设计模式推荐方法,可以根据用户输入的具体业务需求产出对应的设计模式及示例源码,指导程序员进行编程。可以大大提高程序员的代码设计与编程能力,使得代码更加健壮有弹性,方便扩展和维护。
[0039]进一步地,随着业务的变更,对应业务采用的设计模式也可能变更,本申请实施例
中的设计模式推荐模型,可以根据新的优秀源码来训练更新模型,提高模型的推荐成功率。
[0040]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0041]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0042]图1是根据一示例性实施例示出的一种设计模式推荐方法的实施环境图;
[0043]图2是根据一示例性实施例示出的一种计算机设备的内部结构图;
[0044]图3是根据一示例性实施例示出的一种设计模式推荐方法的流程示意图;
[0045]图4是根据一示例性实施例示出的一种获取训练数据方法的流程示意图;
[0046]图5是根据一示例性实施例示出的一种神经网络模型的示意图;
[0047]图6是根据一示例性实施例示出的一种设计模式推荐装置的结构示意图。
具体实施方式
[0048]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0049]可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一字段及算法确定模块成为第二字段及算法确定模块,且类似地,可将第二本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种设计模式推荐方法,其特征在于,所述方法包括:根据业务场景、设计模式、源代码之间的对应关系得到训练数据,根据所述训练数据训练设计模式推荐模型;获取用户输入的业务场景需求参数;将所述业务场景需求参数输入训练好的设计模式推荐模型,得到推荐的一种或多种设计模式以及示例源码。2.根据权利要求1所述的方法,其特征在于,根据业务场景、设计模式、源代码之间的对应关系得到训练数据,包括:提取业务场景的需求参数;将所述需求参数与一个或多个设计模式进行配对,所述设计模式与示例源码具有一一对应关系,得到一个或多个包含需求参数与模式数据的键值对,其中,所述模式数据包括设计模式以及与设计模式对应的示例源码;将所述键值对作为训练数据。3.根据权利要求2所述的方法,其特征在于,提取业务场景的需求参数,包括:获取业务场景需求描述文本;采用预设的分词算法对所述需求描述文本进行分词,根据所述分词提取业务场景的需求关键词;根据所述需求关键词得到业务场景的需求参数。4.根据权利要求2所述的方法,其特征在于,得到一个或多个包含需求参数与模式数据的键值对之后,所述方法还包括:计算所述需求参数与其配对的多个模式数据之间的匹配得分;根据所述匹配得分对所述键值对按照从高到低的顺序排序,并给所述键值对添加序列标签。5.根据权利要求4所述的方法,其特征在于,将所述键值对作为训练数据,包括:根据所述键值对的序列标签,将与每个需求参数匹配的前三个键值对作为训练数据。6.根据权利要求1所述的方法,其特征在于,所述设计模式推荐模型为双向长短时记忆神经网络模型;其...

【专利技术属性】
技术研发人员:赵旗旗
申请(专利权)人:平安普惠企业管理有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1