iOS-組件化開發(fā)-路由

當(dāng)越來越多的組件開發(fā)好以后,如何方便的使用組件?如何實現(xiàn)組件之間相互調(diào)用?如何減少組件間的耦合性?這些思考的出現(xiàn),從而誕生了路由之說。

1. 直接import

  • 這種是最直接原始的方式,耦合性高

  • 開發(fā)好的組件如下:

    1.png
  • 直接在需要用到的地方,導(dǎo)入此類就可使用

    2.png

2. target-action方式

  • CTMediatortarget-action這種方式比較有代表性的開源庫

  • 基于CTMediator思想,建議每個組件生成一個Target類,本例中是Target_Main,而外部調(diào)用的話,生成一個基于CTMediator的業(yè)務(wù)分類,本例中是CTMediator+Main.

    3.png
  • Target_Main類,它對接的是組件類,實現(xiàn)組件中的具體方法。

    4.png
  • CTMediator+Main分類,是真正供外部使用的類。它是利用runtime實現(xiàn)解藕操作,可以看出,整個類中實現(xiàn)的方法,沒有引用到組件的任何接口。

    5.png
  • 這樣,外部使用的時候就非常的方便,完全看不到組件的任何接口。

    6.png

3. url router方式

  • MGJRouter 是一個高效/靈活的 iOS URL Router。

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

  • 建議每個組件生成一個MGJRouter的管理類,便于注冊各種需要的接口。本例中是MainMGJRouter。

    7.png
  • 這樣,外部使用,就完全不依賴組件的任何接口,直接openURL即可。

    8.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容