iOS-组件化开发-路由

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

1. 直接import

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

  • 开发好的组件如下:

    1.png
  • 直接在需要用到的地方,导入此类就可使用

    2.png

2. target-action方式

  • CTMediatortarget-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 是一个高效/灵活的 iOS URL Router

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

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

    7.png
  • 这样,外部使用,就完全不依赖组件的任何接口,直接openURL即可。

    8.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容