组件化
组件化就是将模块独立开发,建立pod仓库,通过引入仓库,利用target-action调用模块内的功能。
Demo基于CTMediator实现。
全部Demo如下:
组件化前的Demo
组件化公有索引仓库
组件化Info模块Category
组件化Info模块TargetAction
组件化Validate模块Category
组件化Validate模块TargetAction
组件化后完整Demo
实现Demo小总结:
1.target-action的本质就是类和方法的反射;
2.组件化本质上就是两个模块通过中间模块(即Demo中的CTMediator的Category类)来实现沟通,即模块一调用模块二的category,再通过模块二的category类调用模块二的指定target执行指定action。至于为什么每个模块都有独立的category,个人理解是因为解耦合;
3.配合git和pod使用,不同模块引用只需要将该模块pod进工程即可,调用;
4.如果模块内依赖于其他模块,在将仓库索引引入索引库的时候,需要注意顺序,被依赖的先引入;
5.通过运行时方式调用,Mediator维护着若干个category,一个category对应一个target,一个target可以包含多个action。
觉得有用,请帮忙点亮红心
Better Late Than Never!
努力是为了当机会来临时不会错失机会。
共勉!