iOS-组件化开发-路由

当越来越多的组件开发好以后,如何方便的使用组件?如何实现组件之间相互调用?如何减少组件间的耦合性?这些思考的出现,从而诞生了路由之说。

1. 直接import

  • 这种是最直接原始的方式,耦合性高

  • 开发好的组件如下:

    iOS-组件化开发-路由_第1张图片
    1.png
  • 直接在需要用到的地方,导入此类就可使用

    iOS-组件化开发-路由_第2张图片
    2.png

2. target-action方式

  • CTMediator 是target-action这种方式比较有代表性的开源库

  • 基于CTMediator思想,建议每个组件生成一个Target类,本例中是Target_Main,而外部调用的话,生成一个基于CTMediator的业务分类,本例中是CTMediator+Main.

    iOS-组件化开发-路由_第3张图片
    3.png
  • Target_Main类,它对接的是组件类,实现组件中的具体方法。

    iOS-组件化开发-路由_第4张图片
    4.png
  • CTMediator+Main分类,是真正供外部使用的类。它是利用runtime实现解藕操作,可以看出,整个类中实现的方法,没有引用到组件的任何接口。

    iOS-组件化开发-路由_第5张图片
    5.png
  • 这样,外部使用的时候就非常的方便,完全看不到组件的任何接口。

    iOS-组件化开发-路由_第6张图片
    6.png

3. url router方式

  • MGJRouter 是一个高效/灵活的 iOS URL Router

  • 直接在工程中pod 'MGJRouter'即可。

  • 建议每个组件生成一个MGJRouter的管理类,便于注册各种需要的接口。本例中是MainMGJRouter

    iOS-组件化开发-路由_第7张图片
    7.png
  • 这样,外部使用,就完全不依赖组件的任何接口,直接openURL即可。

    iOS-组件化开发-路由_第8张图片
    8.png

你可能感兴趣的:(iOS-组件化开发-路由)