平台化过程--桥的应用

什么是桥

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

背景

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

实际业务场景

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

当前注意点

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

架构设计

桥设计

架构图说明

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

优缺点

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

推荐阅读更多精彩内容

  • 三月风 三月的风, 穿堂溜过, 少年的心, 弥漫花间。 多年前的冰淇淋, 热过冷过, 或知或不知, 都在心底。 偶...
    君子兰叶阅读 634评论 5 7
  • 前生尽弃,那是一片草原 那些马,那些马头琴 如一棵水草,死亡后 成了天上的星星 努力寻找卑微,为来生 求一些安宁 ...
    冷冬年阅读 88评论 1 11
  • 昨天晚上,因为玩游戏的问题,我们又吵架了!我能理解玩游戏,我不理解的是为了玩游戏,忽视了周围的一切。 我们不欢而散...
    Dovefree阅读 48评论 0 0
  • 目的太短是弱点,学习上能培养兴趣,想到长远,探索感,仅仅局限于题目会被问倒
    绪语者阅读 45评论 0 0