NMPlug 0.8.3

NMPlug 0.8.3

测试已测试
Lang语言 SwiftSwift
许可 MIT
发布最后发布2016年5月
SPM支持 SPM

Francesco Colleoni - nearit.com维护。



NMPlug 0.8.3

  • 作者
  • Francesco Colleoni

NMPlug

一个插件管理模块

NMPlug 通过定义一些协议,使现有的对象能够实现“插件导向”的架构

  • Pluggable:定义了通用插件的架构
    • 所有插件都有一个名称标识,这必须是唯一的(至少在它被插入到 插件中心 时是如此)
    • 任何插入到中心的插件都可以接收消息,无论是直接接收还是由其他插件广播
    • 任何插件都可以通过调用 run(_:sender:)(如果已实现)来运行一次或多次,无论其状态如何

  • PluginHubDelegate:定义了插件中心的架构,可以
    • 管理插件(plugunplugstartstoprun 一次)
    • 发送 直接 消息(《插件间通信》)
    • 发送 广播 消息(《插件间所有插件的通信》)
    • 派发事件(《插件与扩展对象之间的通信》)

  • Extensible:定义了应该用插件扩展的对象的结构

本模块提供了插件中心和通用插件的基 implementations。所有使用此模块编写的插件都应使用 Plugin 类,而 PluginHub 应当用于实现 Extensible 协议的类所使用的插件中心。

插件消息依赖于 NMJSON.JSON 对象的实例(有关更多信息,请参阅 NMJSON)。

直接发送给特定插件的消息需要了解插件如何响应某些消息。