平台化过程--桥的应用

什么是桥

桥是一种中介的桥梁,用于连接两个不能直接接触的对象,有了桥,就可以提供过去无法支持的能力

背景

公司项目最近在推进平台化,其他业务方要求使用主工程内的播放铃声功能。时间紧迫,没有时间将铃声播放模块下沉到Pod中,但是依旧要满足其他业务方的要求。所以就有了桥,主项目和Pod之间的链接纽带。

实际业务场景

目前项目没有将打印功能下沉到Pod中,第三方库B要调用主工程中的打印功能。

当前注意点

  • Pod中无法调用主工程的功能,但是主工程能够调用Pod中的功能

架构设计

桥设计

架构图说明

  • WXAsssertlikeY()函数是主工程的打印功能
  • WXLikeBridge继承自NSObject,实现了WXLogBridging协议。+load方法中要将protocol-self注册到WangXinObject对象中
  • WXSecondFileMgr是第三方库,库中某个位置调用了主工程打印功能,获取对象的方法是WangXinObjecttheClassForTheProtocol:
  • WangXinObject中pros是字典,存储Protocol,Class键值对

优缺点

  • 优点
    i.功能模块不下沉,依旧可以提供打印功能支持
    ii.将项目中多个不便下沉的模块通过桥来对外实现功能
  • 缺点
    i.架构稍微复杂些

你可能感兴趣的:(平台化过程--桥的应用)