squirrel插件的初始化原理

近期需要看到squirrel挺有特点,于是下了他的代码看看,进行了代码分析,下午的看了一下他的插件机制,在这里记录一下插件的使用方法,插件模型还是有一定的价值的。
代码:
所有的插件主类都需要继承IPlugin接口,接口中包含了将所有的插件管理放到一个插件管理类中,将插件进行抽象,在启动时将所有的插件进行初始化,放到缓存中。

插件结构:
插件放到一个目录下,首先放一个aa.jar的文件,然后需要其它文件的话,比如图片,jar包等信息,创建一个aa文件夹,将信息放到aa文件夹下面.

插件的启动过程:
1、首先生成一个插件管理类
2、调研插件管理类进行loadPlugins
3、找到存放插件的目录,按照规则便利所有的插件,在便利的过程中将所有的jar放到缓存中,便于后续加载插件的ClassLoader使用
4、初始化插件,这个插件管理类会分配职责给各插件自己完成,并将插件进行缓存。初始化过程采用自己写ClassLoader,查询jar中所有超类是IPlugin的进行初始化工作。
5、启动后程序使用插件。

类图结构正在整理,整理完成后上传。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值