基于CTMediator的組件化實踐

為什么要組件化

統(tǒng)一編碼規(guī)范

業(yè)務(wù)模塊組件化

開發(fā)環(huán)境動態(tài)切換

模塊可復(fù)用

UI模塊雙向依賴明顯


怎么傳遞參數(shù)

采用字典绽诚。會有缺點

妥協(xié)方案:公共的model也建立pod庫


組件化主要有三種方案:

1.?URLRouter鼠锈。缺點:需要常駐字典維持這個列表。oc一般在load方法來注冊這些url-block几于;swift沒有l(wèi)oad方法肴甸。需要常駐內(nèi)存不恭,并且影響啟動速度哑蔫,RouterManager需要import所有需要的vc頭文件拂封。

2. Target-Action案铺。代表是CTMediator蔬芥。 缺點: 采用了runtime,swift自身是不支持rumtime的,以及少量的硬編碼笔诵。

3. Protocal-Class返吻。 代表是BeeHive『跣觯總體來說還是最專業(yè)的方案测僵。缺點是對代碼侵入性高;采用一個全局字典的變量谢翎,key為Protocal的字符串捍靠,value是class;需要在app啟動(swift工程)添加注冊的方法森逮。缺點同URLRouter榨婆,優(yōu)點在于沒有硬編碼。


技術(shù)要點:

1.? 資源文件比如圖片褒侧。有的圖片是多個模塊公用良风,有的圖片只在一個模塊使用,如何使圖片更好的支持組件化闷供?

2. 有些model是在單個模塊使用拖吼,有的是多個模塊使用,如何規(guī)劃这吻?

3. 對AppDelegate瘦身吊档,需要對事件進行封裝。

組件化開發(fā)過程中缺點:

Module內(nèi)對修改要clean build后生效唾糯,太耗時間怠硼。感覺項目在相對穩(wěn)定后可以引入組建化。


組件化中疑難點:

1. swift 調(diào)用 oc的庫:新建一個swift類對oc的接口進行封裝移怯。

2. oc調(diào)用swift的香璃。

3.? 不同組件中的資源重復(fù)。

最好是分配給各個組件舟误,會有一定的浪費葡秒; 然后可以腳本去掉重復(fù)的圖片∏兑纾或者是iconFont眯牧。

4. oc和swift庫混編

5. 動態(tài)切換環(huán)境:如首頁雙擊四次,彈框赖草,選擇后学少,重啟app;


組件分層:

最底層:基礎(chǔ)組件: 持久化秧骑,導(dǎo)航欄版确,log日志扣囊,網(wǎng)絡(luò),第三方庫sdk绒疗,文件服務(wù)侵歇,分類

中間: 功能組件:?地圖服務(wù),數(shù)據(jù)管理吓蘑,城市管理盒至,廣告管理

上層: 業(yè)務(wù)模塊組件: 業(yè)務(wù)模塊解耦


建議:

少用宏

不出現(xiàn)common組件

使用storyboard:界面元素越多的情況下優(yōu)勢越明顯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末士修,一起剝皮案震驚了整個濱河市枷遂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌棋嘲,老刑警劉巖酒唉,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異沸移,居然都是意外死亡痪伦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門雹锣,熙熙樓的掌柜王于貴愁眉苦臉地迎上來网沾,“玉大人,你說我怎么就攤上這事蕊爵』愿纾” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵攒射,是天一觀的道長醋旦。 經(jīng)常有香客問我,道長会放,這世上最難降的妖魔是什么饲齐? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮咧最,結(jié)果婚禮上捂人,老公的妹妹穿的比我還像新娘。我一直安慰自己矢沿,他們只是感情好滥搭,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咨察,像睡著了一般论熙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上摄狱,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天脓诡,我揣著相機與錄音,去河邊找鬼媒役。 笑死祝谚,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的酣衷。 我是一名探鬼主播交惯,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼穿仪!你這毒婦竟也來了席爽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤啊片,失蹤者是張志新(化名)和其女友劉穎只锻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體紫谷,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡齐饮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了笤昨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祖驱。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瞒窒,靈堂內(nèi)的尸體忽然破棺而出捺僻,到底是詐尸還是另有隱情,我是刑警寧澤崇裁,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布陵像,位于F島的核電站,受9級特大地震影響寇壳,放射性物質(zhì)發(fā)生泄漏醒颖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一壳炎、第九天 我趴在偏房一處隱蔽的房頂上張望泞歉。 院中可真熱鬧,春花似錦匿辩、人聲如沸腰耙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挺庞。三九已至,卻和暖如春稼病,著一層夾襖步出監(jiān)牢的瞬間选侨,已是汗流浹背掖鱼。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留援制,地道東北人戏挡。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像晨仑,于是被迫代替她去往敵國和親褐墅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359