`

squirrel插件的初始化原理

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

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

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

类图结构正在整理,整理完成后上传。
分享到:
评论

相关推荐

    notepad++的Squirrel语法高亮插件

    标题提到的“notepad++的Squirrel语法高亮插件”是Notepad++为了支持Squirrel语言而设计的一个扩展。 Squirrel是一种轻量级的、面向对象的脚本语言,常用于游戏开发和其他需要高性能脚本的应用中。Squirrel语法与C/...

    notepad++的Squirrel调试插件

    在Notepad++中,可以通过安装插件来扩展其功能,例如Squirrel调试插件,这正是我们今天要讨论的重点。 Squirrel是一种轻量级的、面向对象的脚本语言,常用于游戏开发和其他嵌入式应用。Notepad++的Squirrel调试插件...

    Squirrel 3.1 参考手册.docx

    虚拟机初始化 宿主应用程序必须首先创建一个虚拟机,以便执行脚本。宿主应用程序可以通过 sq_open() 函数创建任意数量的虚拟机,每个 VM 都需要在不再需要时使用 sq_close() 函数释放。 错误约定 Squirrel 的 API...

    squirrel3中文文档

    1. **初始化和管理VM(虚拟机)**:创建和销毁Squirrel虚拟机,加载和运行脚本。 2. **对象操作**:创建、复制、销毁和查询Squirrel的对象,包括变量、函数、类等。 3. **调用脚本函数**:从C/C++代码中调用Squirrel...

    squirrel可视化操作hbase工具

    《Squirrel SQL客户端:可视化操作HBase数据库的得力助手》 在大数据领域,HBase作为一款基于Apache Hadoop的分布式、列式存储系统,因其高效处理海量数据的能力而备受青睐。然而,对于非程序员或者对命令行操作不...

    脚本引擎内核源代码之:Squirrel3.0

    总的来说,Squirrel 3.0作为一款高效的脚本语言,其内核源代码提供了一个了解动态脚本引擎工作原理的机会,同时也为嵌入式开发提供了强大的工具。通过在VC6中编译源代码,我们可以更好地理解和利用这一资源,为我们...

    EditPlus 配置squirrel脚本辅助文件

    本文将详细介绍如何在EditPlus中配置Squirrel脚本辅助文件,以便实现代码自动化处理,提高开发效率。 Squirrel是一种轻量级的、面向对象的、动态类型的语言,它借鉴了C++、Java和JavaScript等语言的特点,主要用于...

    SQuirrel SQL

    8. **插件扩展**:SQuirrel SQL拥有丰富的插件生态系统,可以通过安装插件来扩展其功能,如增加对特定数据库的支持、提升性能或增强用户体验。 9. **跨平台**:作为Java应用程序,SQuirrel SQL可在Windows, macOS, ...

    Squirrel技术分享.pdf

    Squirrel支持RDB和AOF两种持久化方式。 **数据结构映射** - Redis: String, List, Set, SortedSet, Hash - Java: Object, List, HashSet, TreeSet, HashMap #### 三、Squirrel技术内幕 **整体架构** Squirrel的...

    squirrel-sql-3.5.3

    5. **个性化设置**:Squirrel SQL允许用户根据个人习惯进行定制,包括界面主题、快捷键绑定、首选项设置等,使每个用户都能找到最适合自己的工作环境。 6. **版本信息**:本次提供的“squirrel-sql-3.5.3”是...

    Phoenix 客户端 squirrel_安装

    而Phoenix客户端Squirrel的安装,将为开发者提供一个图形化的界面,使得操作HBase变得更加直观和高效。本文将详细介绍如何安装和使用Squirrel作为Phoenix的客户端。 首先,了解Squirrel SQL Client。Squirrel是一款...

    易语言Squirrel松鼠脚本支持库

    Squirrel(松鼠)是一种较新的脚本语言,它从著名的LUA语言继承了很多特性,适用的范围也与LUA语言相似。esquirrel3.fne 支持库。esquirrel3_static.lib 静态库。Squirrel 3.1 标准库 .docx 松鼠脚本标准库文档(机...

    Squirrel教程

    变量可以声明为局部变量或全局变量,并且可以通过赋值语句进行初始化。 ##### 3.2 语句 Squirrel提供了丰富的语句类型来控制程序的流程,包括但不限于: - **块(Block)**:一个由多个语句组成的单元。 - **控制流...

    squirrel-sql-3.8.1-standard.zip

    Squirrel SQL是一款强大的开源数据库管理工具,主要用于图形化地与各种关系型数据库进行交互。它支持多种数据库引擎,包括但不限于MySQL、Oracle、SQL Server、PostgreSQL等,为数据库管理员和开发人员提供了便捷的...

    squirrel-sql-3.3

    6. **插件扩展**:Squirrel-SQL拥有丰富的插件生态系统,通过安装插件可以扩展其功能,如增加对特定数据库的支持、提升性能或提供新的视图。 7. **版本控制**:虽然Squirrel-SQL本身并不直接集成版本控制系统,但...

    squirrel-sql_zh_CN 中文汉化包

    squirrel-sql中文语言汉化包,放入lib文件夹下.支持SQuirreL SQL Client2.3版本以上

    squirrel连接hive所有的jar

    整合了squirrel可视化工具连接hive所用到的所有jar包。

    squirrel sql client数据库连接工具

    6. **插件支持**:Squirrel SQL Client拥有丰富的插件库,可以扩展其功能,例如增加对更多数据库类型的支持,或者提高用户体验。 7. **配置和定制**:用户可以根据个人喜好和工作需求自定义界面布局、快捷键、字体...

    SQuirreL SQL Client

    7. **插件系统**:SQuirreL SQL Client有一个强大的插件系统,允许开发者创建自定义插件来增强其功能。这些插件可以扩展数据库支持、提供新的视图或工具栏按钮,甚至集成其他开发工具或IDE。 8. **跨平台**:由于是...

    derby辅助工具SQuirreL SQL Client的使用

    - 可视化数据表,方便查看和编辑数据。 - 自定义视图和保存查询,提高工作效率。 6. **SQuirreL SQL Client与Eclipse的结合**: 尽管SQuirreL是一个独立的工具,但可以在Eclipse中打开其链接,实现数据库管理和...

Global site tag (gtag.js) - Google Analytics