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