美文网首页iOS
BeeHive总结

BeeHive总结

作者: 齐步走一二一 | 来源:发表于2019-12-09 19:50 被阅读0次

  作为阿里的开源项目,关注度还是挺高的;它主要用于组件化的项目中,专注于模块之间的跳转。
  注册是它的一大难点,有点类似于Android的注解;例如:

  @BeeHiveService(HomeServiceProtocol, BHViewController)

这样通过HomeServiceProtocol就能找到BHViewController,即二者建立了关联。

  #define BeeHiveService(servicename,impl) \
  class BeeHive; char * k##servicename##_service \
  BeeHiveDATA(BeehiveServices) = "{ \""#servicename"\" : \""#impl"\"}";

宏定义大家都熟悉,例如:

  #define BeeHiveService(servicename) \
   char * k##servicename##_service  = \""#servicename"\" ;

或者

  #define BeeHiveService char * kservicename_service = "servicename";

不同的是,它的宏定义把数据存储到了Mach-o里,合适的时候又读取出来。

接下来看一下读取:

  __attribute__((constructor))
  void initProphet() {
      _dyld_register_func_for_add_image(dyld_callback);
  }

其中dyld_callback就是读取数据,具体函数就是

 extern uint8_t *getsectiondata(
      const struct mach_header_64 *mhp,
      const char *segname,
      const char *sectname,
      unsigned long *size);

语法

1.连接操作符(##)

#define Conn(x,y)     x##y
Conn(123, 456)  即 123456 
Conn(abc, def)  即 abcdef

2.__attribute((used, section("__DATA,"#sectname" ")))
__attribute 可以设置函数属性、变量属性和类型属性
把sectname字段放到_DATA的section
3._attribute
((constructor))
先于构造函数初始化

相关文章

  • BeeHive总结

      作为阿里的开源项目,关注度还是挺高的;它主要用于组件化的项目中,专注于模块之间的跳转。注册是它的一大难点,有点...

  • BeeHive学习总结

    设计原则: 解耦,避免对接口依赖使用invoke以及动态链接库实现对接口的解耦 BeeHive每个模块都是有生命周...

  • iOS 模块化编程框架 BeeHive

    github下载地址:https://github.com/alibaba/BeeHive BeeHive 详细介...

  • BeeHive

    前言 BeeHive 是阿里用于iOS的 App 模块化编程的框架实现方案,吸收了 Spring 框架 Servi...

  • iOS组件化 文章

    iOS组件化 BeeHive iOS应用架构谈 组件化方案 Small iOS BeeHive —— 一个优雅但还...

  • 阿里组件化框架BeeHive解析

    更好的阅读体验,请到个人博客阅读: 阿里组件化框架BeeHive解析 本文是基于BeeHive版本1.6.0进行...

  • BeeHive组件化

    理解关于Beehive的设计思想 Beehive的使用, 可以分3个核心的内容1.Service 服务2.Modu...

  • kubeedge-beehive源码解析

    个人认为beehive是kubeedge的通讯的核心模块,将beehive看明白基本上就理解一半hubeedge的...

  • BeeHive - iOS模块化之路

    1、为什么要使用BeeHive模块化 BeeHive是基于Java的Spring框架,一个分发App状态和统一Se...

  • Here is the beehive

    Here is the beehive 蜂窝在这里, Where are the bees ...

网友评论

    本文标题:BeeHive总结

    本文链接:https://www.haomeiwen.com/subject/ssligctx.html