[发明专利]一种基于扩展和插件方式的软件架构设计系统在审
申请号: | 201810088036.8 | 申请日: | 2018-01-30 |
公开(公告)号: | CN108182057A | 公开(公告)日: | 2018-06-19 |
发明(设计)人: | 张鹏 | 申请(专利权)人: | 深圳市富途网络科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 插件 宿主 宿主接口 软件架构设计 接入适配器 插件方式 调度模块 开发 插件实体 发起请求 工程开发 规则操作 交换信息 接口生成 开发效率 逻辑上将 内部处理 物理上将 耦合解除 分隔 分装 调试 团队 返回 | ||
本发明公开一种基于扩展和插件方式的软件架构设计系统,包括:宿主向调度模块发起请求,索要插件,调度模块内部处理,将每个请求转给不同的插件接入适配器,插件接入适配器与插件本身交互,交换信息,按照宿主约定的接口生成宿主接口实现者,该宿主接口实现者分装了插件实体本身,并返回给宿主,宿主依赖于宿主接口,通过宿主接口约定的规则操作插件,从而达到实现不仅在物理上将代码分隔开,让不同开发者、开发团队只在自己负责的子工程中开发,还在逻辑上将各工程的依赖、耦合解除,方便开发者只使用自己相关的一个或几个工程开发、调试,大大提升了开发效率。
技术领域
本发明涉及软件构架设计技术领域,尤其涉及一种基于扩展和插件方式的软件架构设计系统。
背景技术
现有的实现软件架构设计的方案,主要包括以下两种:
方案一,所有代码都在一起,应用程序(APP)只有一个工程,所有开发者、开发团队都在该工程中并行开发,该方案的缺点,包括:
代码都在一起,依赖和耦合度高,任何人都可以改动到其他人的代码,软件的稳定性较差,且当团队规模较大时,协作效率较低。
方案二,一个主工程多个子工程,相互间有依赖和耦合,应用程序APP有一个主工程和多个子工程,不同的业务开发团队在指定的子工程上开发,该方案的缺点,包括:
虽然拆分了多个工程,物理上将不同开发者、开发团队隔离开,但实际上各个子工程相互之间有依赖,无法单独编译,开发者开发调试时还是需要所有的工程,效率较低,且当业务快速变化时无法快速拆分工程、去掉工程。
发明内容
本发明提供一种基于扩展和插件方式的软件架构设计系统,用以解决现有技术的依赖和耦合度高,且当团队规模较大时,协作效率低的技术问题。
为解决上述技术问题,本发明提供一种基于扩展和插件方式的软件架构设计系统,包括:宿主、调度模块、插件、插件接入适配器、宿主接口实现者、宿主接口;
所述宿主向所述调度模块发起请求,索要所述插件,所述调度模块内部处理,将每个请求转给不同的所述插件接入适配器,所述插件接入适配器与所述插件本身交互,交换信息,按照所述宿主约定的接口生成所述宿主接口实现者,该所述宿主接口实现者分装了所述插件实体本身,并返回给所述宿主,所述宿主依赖于所述宿主接口,通过所述宿主接口约定的规则操作所述插件。
其中,所述宿主向所述调度模块发起请求,包括:
所述宿主根据extensionPointID,向所述调度模块发起请求。
其中,所述调度模块用于管理所述宿主和所述插件,当应用程序APP启动后,所述调度模块会将所述宿主的配置文件X.FTExtensionPoint.plist和所述插件的配置文件X.FTExtension.plist全部加在到内存中,并整理得到两个列表:宿主表和插件表。
其中,所述调度模块用于在系统运行时,将使用该整理得到的两个列表宿主表和插件表,来管理整个扩展-插件系统。
其中,所述宿主独立于所述插件,不依赖所述插件,对所述宿主来说所述插件不是必须的,所述宿主不能直接调用所述插件的接口和能力。
其中,所述插件依附于所述宿主,所述插件可以直接调用所述宿主的接口和能力。
其中,一个所述宿主支持多个所述插件。
其中,在所述宿主、所述插件之间引入一个抽象接口层,用于解决所述宿主和所述插件解耦合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市富途网络科技有限公司,未经深圳市富途网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810088036.8/2.html,转载请声明来源钻瓜专利网。