美文网首页
快速上手 iOS 组件化 CTMediator

快速上手 iOS 组件化 CTMediator

作者: uniapp | 来源:发表于2019-08-09 09:15 被阅读0次

iOS 组件化适用于偏大型的 App ,尤其是一个 App 由多人共同开发维护时。适用组件化,能够解耦不同模块,去除相互间的依赖,然后组员就能尽量将精力集中在个人的模块,提高开发效率。试想一下,当你坐下来开始今天的开发任务时,拉取别人的代码就花费了半天时间,内心一阵骂娘后,编程的心情恐怕就飞了。

CTMediator 是由天猫架构师 CasaTaloyum 提出的解决方案。个人实验后,感觉实现思路十分清晰,操作性非常强。下面就他的实现思想进行一下解读,方便后来者在操作中能够抓住思考主线,减少不必要的折腾。

组件化的出发点就是解耦模块,比如在使用 App 模块 A 时,要求必须先登录,这个时候就会调用登录模块 L 。这种场景下,A 模块就依赖了 L 模块。两个模块之间有时还需要传递参数 params 。那么如何解耦呢?通过中间件 CTMediator 来实现。CTMediator 并不是简简单单的将 A / L 联系起来,而是规定了 A 模块和 L 模块间实现通信的规则。如果将 A 和 L 比作两个需要做买卖的 Boss,通常的理解是两者找个跑腿的小弟 C 去传话。这样做由于 C 低下的地位会导致 A 和 L 按照自己的喜好发布命令,C 就很难让二者做一锤子买卖。怎么办呢?提高 C 的地位,让 C 成为大 Boss ,自己独自确定 A 和 L 买卖的方式。

CTMediator 就是这种实现方式。里面定义好了要进行通信模块的命名规则和实现规则。然后 A 和 L 模块都必须按照这种方式来实现,如果没有实现,CTMediator 中定义了默认处理方式。而且 CTMediator 更进一步,派出了小弟去需要通信的模块去办事。这样 A 模块和 L 模块只要依赖 CTMediator 派往自己的小弟,不同的小弟依赖 CTMediator 就可以了。可以用下图表示:

CTMediator

通过 Cocoapod 实现就是 「ModuleA」、「ACategory」、「ModuleB」、「BCategory」都是一个独立的工程,相互之间通过私有库的方式建立联系。CTMediator 已经贴心地将一些 podspec 文件的制作携程了 shell 脚本,在 Mac 平台下能够快速完成。

思想是实践的指引,有了整体的认识,下面操作起来就会得心应手,快快试试吧:在现有工程中实施基于CTMediator的组件化方案

喜欢和关注都是对我的鼓励和支持~

相关文章

  • 快速上手 iOS 组件化 CTMediator

    iOS 组件化适用于偏大型的 App ,尤其是一个 App 由多人共同开发维护时。适用组件化,能够解耦不同模块,去...

  • 组件化方案

    组件化方案引用 在现有工程中实施基于CTMediator的组件化方案 iOS组件化实践(一):简介 iOS组件化实...

  • 07 CTMediator iOS组件化方案

    关于iOS组件化方案在Casa的iOS应用架构谈 组件化方案写得已经很清楚了。方案本身并不难,CTMediator...

  • ios 组件化

    参考 iOS 组件化实践《二》基于现有项目拆分组件化实践 在现有工程中实施基于CTMediator的组件化方案 i...

  • iOS组件化的那些事 - CTMediator

    转载自: 知乎-henry磊 iOS组件化的那些事 - CTMediator[https://zhuanlan.z...

  • iOS组件化

    1.JLRoutes源码分析2.iOS 组件化时代到临3.蘑菇街 App 的组件化之路4.CTMediator

  • 平安好房iOS开发团队技术周报(第三十期)

    本期导读:本期周报主要包括 iOS 项目的 HTTPS 迁移实战、基于 CTMediator 的组件化方案、以及给...

  • iOS 路由改进

    之前写过一篇关于iOS 组件化之CTMediator[https://www.jianshu.com/p/7c3d...

  • iOS 组件化之CTMediator

    关于iOS组件化网上资料太多,这里只是从个人观点说明一下怎么使用组件化和使用组件化的优点和缺点首先下载CTMedi...

  • iOS CTMediator组件化实践

    3篇文章带你学会组件化???1.iOS 创建远程cocoapods 私有库[https://www.jianshu...

网友评论

      本文标题:快速上手 iOS 组件化 CTMediator

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