当越来越多的组件开发好以后,如何方便的使用组件?如何实现组件之间相互调用?如何减少组件间的耦合性?这些思考的出现,从而诞生了路由之说。
1. 直接import类
这种是最直接原始的方式,耦合性高
-
开发好的组件如下:
1.png -
直接在需要用到的地方,导入此类就可使用
2.png
2. target-action方式
CTMediator 是
target-action这种方式比较有代表性的开源库-
基于
CTMediator思想,建议每个组件生成一个Target类,本例中是Target_Main,而外部调用的话,生成一个基于CTMediator的业务分类,本例中是CTMediator+Main.3.png -
Target_Main类,它对接的是组件类,实现组件中的具体方法。4.png -
CTMediator+Main分类,是真正供外部使用的类。它是利用runtime实现解藕操作,可以看出,整个类中实现的方法,没有引用到组件的任何接口。5.png -
这样,外部使用的时候就非常的方便,完全看不到组件的任何接口。
6.png
3. url router方式
MGJRouter 是一个高效/灵活的
iOSURL Router。直接在工程中
pod 'MGJRouter'即可。-
建议每个组件生成一个
MGJRouter的管理类,便于注册各种需要的接口。本例中是MainMGJRouter。7.png -
这样,外部使用,就完全不依赖组件的任何接口,直接
openURL即可。8.png







