一种视图层组件替换方法和装置制造方法及图纸

技术编号:29155869 阅读:16 留言:0更新日期:2021-07-06 22:54
本发明专利技术涉及一种视图层组件替换方法和装置,包括:基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;获取生产者生成的生产者条件,并将生产者条件存储至生产者条件队列中;获取消费者的消费者条件,并将消费者条件放入生产者条件队列中进行匹配;若匹配通过,则基于对应生产者的对应唯一键将对应生产者相应的组件替换为消费者对应的目标组件。本发明专利技术的有益效果为:解决了循环依赖问题,从而实现了模块化的组件替换,使组件的替换更加的便利。

【技术实现步骤摘要】
一种视图层组件替换方法和装置
本专利技术属于软件开发
,具体涉及一种视图层组件替换方法和装置。
技术介绍
目前在主流的前端开发模式中,视图层组件存在组件级循环依赖。且在大量组件开发过程中很难实现增量的按需替换。即在非侵入的情况下对已有的前端项目进行升级和扩展。现有的一般方法采用一些修改原有代码,重新编译的方式实现升级。这种方式对于增量开发并不友好,容易造成源代码过于庞大非常不利于项目的模块化划分。
技术实现思路
为了解决现有技术存在的代码庞大、不便于模块化替换的问题,本专利技术提供了一种视图层组件替换方法和装置,其具有避免循环依赖、便于模块模块化替换等特点。根据本专利技术的具体实施方式的一种视图层组件替换方法,包括:基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;获取所述生产者生成的生产者条件,并将所述生产者条件存储至生产者条件队列中;获取消费者的消费者条件,并将所述消费者条件放入所述生产者条件队列中进行匹配;若匹配通过,则基于对应生产者的对应唯一键将所述对应生产者相应的组件替换为所述消费者对应的目标组件。进一步地,所述视图层组件替换方法还包括:将所述生产者的唯一键发送至唯一键管理中心进行管理。进一步地,所述视图层组件替换方法还包括:若所述生产者存在下级组件,则将所述下级组件的上下文发送至所述唯一键管理中心进行模糊匹配以得到所述下级组件的唯一键。进一步地,所述视图层组件替换方法还包括:若匹配通过得到所述下级组件的唯一键,则将所述下级组件替换为所述目标组件。进一步地,所述上下文包括:视图类型、字段类型、读写状态和组件名称。根据本专利技术具体实施方式提供的一种视图层组件替换装置,包括:生产者模块,用于基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;条件模块,用于获取所述生产者生成的生产者条件,并将所述生产者条件存储至生产者条件队列中;以及替换模块,用于获取消费者的消费者条件,并将所述消费者条件放入所述生产者条件队列中进行匹配;若匹配通过,则基于对应生产者的对应唯一键将所述对应生产者相应的组件替换为所述消费者对应的目标组件。进一步地,还包括唯一键管理中心,用于对所述生产者的唯一键进行管理。进一步地,还包括匹配模块,用于将下级组件的上下文发送至所述唯一键管理中心进行模糊匹配以得到所述下级组件的唯一键。本专利技术的有益效果为:通过对生产者的唯一键和生产条件分别进行存储,并基于消费者的条件进行匹配相应的生产者条件,在匹配成功后通过相应的唯一键将对应的组件替换为消费者的组件,因为在将生产者存储到队列过程中时已经对生产者做了隐式的子类到基类的转换,所以消费者实际上是对基类的强依赖,而不是对子类的强依赖,解决了循环依赖问题,从而实现了模块化的组件替换,使组件的替换更加的便利。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例提供的视图层组件替换方法的流程图;图2是根据一示例性实施例提供的视图层组件替换方法的另一流程图;图3是根据一示例性实施例提供的视图层组件替换装置的原理图;图4是根据一示例性实施例提供的唯一键技术原理图;图5是根据一示例性实施例提供的替换前效果图;图6是根据一示例性实施例提供的替换后效果图。附图标记1-生产者模块;2-条件模块;3-替换模块;4-唯一键管理中心;5-匹配模块。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。参照图1所示,本专利技术的实施例提供了一种视图层组件替换方法,具体包括包括:101、基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;当一个组件定义时使用唯一键存储到一个确定队列中,即生产者。当消费者需要消费时采用已知唯一键从队列中取出实例或者类工厂。因为在将生产者存储到队列过程中时已经对生产者做了隐式的子类->基类的转换,所以消费者实际上是对基类的强依赖,而不是对子类的强依赖。解决了循环依赖问题102、获取生产者生成的生产者条件,并将生产者条件存储至生产者条件队列中;103、获取消费者的消费者条件,并将消费者条件放入生产者条件队列中进行匹配;如果需要使用控制反转机制需要在消费者与生产者之间约定唯一键。静态的唯一键主要用于一个确定的生产者,在实际开发中会使用一些配置之类的方法实现一些伪动态唯一键来改变运行时实例的类型。通过消费者在消费过程中模糊匹配已存在的生产条件选取生产者的唯一键实现运行时动态唯一键。104、若匹配通过,则基于对应生产者的对应唯一键将对应生产者相应的组件替换为消费者对应的目标组件。这样通过对生产者的唯一键和生产条件分别进行存储,并基于消费者的条件进行匹配相应的生产者条件,在匹配成功后通过相应的唯一键将对应的组件替换为消费者的组件,因为在将生产者存储到队列过程中时已经对生产者做了隐式的子类到基类的转换,所以消费者实际上是对基类的强依赖,而不是对子类的强依赖,解决了循环依赖问题,从而实现了模块化的组件替换,使组件的替换更加的便利。需要说明的是,在软件开发领域中产生数据的模块称之为生产者,而处理数据的模块称之为消费者。作为上述实施例可行的实现方式,参照图4所示,在具体实施时每一个生产者都会注册一个生产者条件并且生成全局唯一健α。当消费行为产生时,消费者会将自身的条件放入生产者条件队列中匹配,当匹配通过时可以得到唯一键α。从而基于唯一键α进行对应组件的替换。参照图2所示,在本专利技术的另一具体实施例中,视图层组件替换方法具体包括:201、基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;202、获取生产者生成的生产者条件,并将生产者条件存储至生产者条件队列中;203、获取消费者的消费者条件,并将消费者条件放入生产者条件队列中进行匹配;204、若匹配通过,则基于对应生产者的对应唯一键将对应生产者相应的组件替换为消费者对应的目标组件205、将生产者的唯一键发送至唯一键管理中心进行管理。206、若生产者存在下级组件,则将下级组件的上下文发送至唯一键管理中心进行模糊匹配以得到下级组件的唯一键。207、若匹配通过得到下级组件的唯一键,则将下级组件替换为目标组件本文档来自技高网...

【技术保护点】
1.一种视图层组件替换方法,其特征在于,包括:/n基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;/n获取所述生产者生成的生产者条件,并将所述生产者条件存储至生产者条件队列中;/n获取消费者的消费者条件,并将所述消费者条件放入所述生产者条件队列中进行匹配;/n若匹配通过,则基于对应生产者的对应唯一键将所述对应生产者相应的组件替换为所述消费者对应的目标组件。/n

【技术特征摘要】
1.一种视图层组件替换方法,其特征在于,包括:
基于控制反转技术在组件进行定义时采用唯一键存储至预设队列中,并生成相应的生产者;
获取所述生产者生成的生产者条件,并将所述生产者条件存储至生产者条件队列中;
获取消费者的消费者条件,并将所述消费者条件放入所述生产者条件队列中进行匹配;
若匹配通过,则基于对应生产者的对应唯一键将所述对应生产者相应的组件替换为所述消费者对应的目标组件。


2.根据权利要求1所述的视图层组件替换方法,其特征在于,还包括:将所述生产者的唯一键发送至唯一键管理中心进行管理。


3.根据权利要求2所述的视图层组件替换方法,其特征在于,还包括:若所述生产者存在下级组件,则将所述下级组件的上下文发送至所述唯一键管理中心进行模糊匹配以得到所述下级组件的唯一键。


4.根据权利要求3所述的视图层组件替换方法,其特征在于,还包括:若匹配通过得到所述下级组件的唯一键,则将所述下级组件替换为所述目标组件。

【专利技术属性】
技术研发人员:王锦帆
申请(专利权)人:杭州普数软件有限公司
类型:发明
国别省市:浙江;33

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

1