中间件
1.下载听
2.播放器
3.宿主工程
解决两个组件间的耦合问题 组件使用block把功能交给别人
引入中间件
存在于 业务组件 于 功能组件之间的 分离模块
蘑菇街中间件
1.url到block的表 registUrl:@“xizai://vcblock:{}” 全局表
2.功能组件使用 openUrl 来获取vc
3.url进行硬解
Target-action 中间件
1.组件统一披露api
2.目标通过运行时 执行action
3.功能件和功能组件解耦 使用runtime
API暴露
通过宿主 引入组件的api进行耦合
MGJrouter
使用
注册方法及实现
1.组件内部注册router向外界提供服务 可以在load方法中注册
2.UserInfo 字典与协议
3.组件分别在中间件注册 组件尽量使用统一披露API
register 注册 open提供服务 click事件的点击 相应的服务
外界的register服务获取内部属性 内部open服务
通过从服务器获取 key value 的格式来动态跳转或执行block内的方法
面向协议的注册 注册协议表
Target-action方案
1.每一个业务都要有统一接口类
2.中间件中写类扩展 Runtime targetName actionName
3.对功能件进行类扩展 并在类扩展中使用target-action调用类的方法实现
4.对组件的原有方法进行category编码重写 只传递一个参数的方法 使用数组或字典 使用target-action传值
5.外部不了解内部实现
网友评论