《iOS組件化》組件的劃分

前言

組件的劃分是在組件化之前最先要做的工作,也是非常重要的一環(huán)。組件劃分不細(xì)致會造成很多冗余代碼,或者劃分的太細(xì)致則會加倍增加工作量。換句話說,組件的劃分決定了整個工程的質(zhì)量。
我會從以下幾個方面來劃分組件:

  • 基礎(chǔ)通用組件
  • 基礎(chǔ)業(yè)務(wù)組件
  • UI公共組件
  • 獨(dú)立業(yè)務(wù)組件

基礎(chǔ)通用組件的劃分

我們這么來理解基礎(chǔ)通用組件,變化不大,而且基本上每個項目都用到,項目中都要圍繞這些組件來實(shí)現(xiàn)業(yè)務(wù)功能的組件。例如我們在Pods中的AFNetworking、SDWebImageFMDB,以及常用到的Category等。這些組件或許需要根據(jù)業(yè)務(wù)進(jìn)行一些二次封裝,但是每個項目中對它們的改動都不大。
使用第三方庫應(yīng)該盡量進(jìn)行二次封裝,封裝更適用于業(yè)務(wù)的組件,或者封裝成一個接口類,避免在換第三方庫的時候整個工程逐句代碼修改。下面有幾篇關(guān)于基礎(chǔ)組件封裝的文章供大家參考:

基礎(chǔ)業(yè)務(wù)組件

我們可以將類似用戶行為統(tǒng)計、異常上報、推送服務(wù)、消息通道、支付通用宏定義頭文件這種根據(jù)業(yè)務(wù)為基礎(chǔ)的服務(wù)SDK作為基礎(chǔ)業(yè)務(wù)組件,最好每個基礎(chǔ)業(yè)務(wù)組件都各分其責(zé),避免某些組件沒用到某些功能而造成代碼冗余。

UI公共組件

UI也有公共部分,建議在進(jìn)行開發(fā)之前可以和設(shè)計師取一下經(jīng),或許他們已經(jīng)做好了公共組件~這樣劃分根據(jù)他們的來就好了。

UI公共組件.png

UI組件種類繁多,大家記得根據(jù) 公共 的原則來抽離就行..

獨(dú)立業(yè)務(wù)組件

根據(jù)業(yè)務(wù)的獨(dú)立性來劃分,例如我將我司的電商APP可以劃分為首頁組件購物車組件、登錄注冊組件、訂單組件用戶中心組件、商品組件
獨(dú)立組件一定要保證獨(dú)立性,避免首頁含有商品組件等這種情況,每個組件都通過Route來交互,必要時提供對應(yīng)的接口。

總結(jié)

以上內(nèi)容總結(jié)為下圖,只要劃分清晰了才能提高代碼效率,組件化才有意義。

組件的劃分.png

我的組件化系列文章:
《iOS組件化》組件化實(shí)踐
《iOS組件化》創(chuàng)建公共/私有 Pods
《iOS組件化》之使用AOP代替繼承
《iOS組件化》之 搭建適合業(yè)務(wù)的URL跳轉(zhuǎn)路由-ALRouter
《iOS組件化》之搭建基于AFNetworking的網(wǎng)絡(luò)請求框架

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

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評論 25 709
  • 以前做姑娘的時候,不大喜歡小孩子,也很少主動逗小孩子玩兒。 想來那時是我一生中最無優(yōu)的時候。雖然在農(nóng)村,但...
    冰糖芥末閱讀 567評論 8 9
  • 到青島入住后,已是晚上七點(diǎn)鐘,正是島城夜市開啟時。旅客們經(jīng)過一路舟車勞頓,都在稍微安頓后,抬腳走向了燈光璀璨的夜市...
    每文兒閱讀 425評論 2 1

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