吃瓜少年瞎扯架構(gòu)

前言

本人剛剛畢業(yè)半年,對于開發(fā)也處于剛剛起步階段,正所謂一葉障目,由于目前知識和見識有限,很多只是個人看法,如果有大神可以多多交流~待到將來技術(shù)更進一步,回頭看看或許也是一番滋味吧!

什么是架構(gòu)

什么是架構(gòu)?之前有人問我這么個問題,我說,架構(gòu)就是iOS項目的整體搭建,前段后臺的整體框架設(shè)計。他說太籠統(tǒng)了。那什么是架構(gòu)呢,架構(gòu)就是整體結(jié)構(gòu)與組件的抽象描述。也就是說,一個公司里的員工也可以按照不同組織架構(gòu),比如按照男女,再按照部門,或者直接按照部門,還有就是按照部門,然后按入職年份等等。

為什么要架構(gòu)

每個從事iOS開發(fā)的其實都有自己的一套架構(gòu)方案,只是有些方案是好的,有些不咋滴。一個好的架構(gòu),對于多人開發(fā)的團隊是十分重要的。
比如我們的項目,安卓和iOS是一整套基本統(tǒng)一的框架,所有包結(jié)構(gòu)都是類似的,在移動端如果有什么改動,兩邊也是十分容易去交流。

我的項目結(jié)構(gòu)

相對來說,我是iOS開發(fā),所以對iOS接觸的比較多。用pods管理第三方庫,整體框架是公用工具類,本地數(shù)據(jù)庫管理和緩存,Model,View,Viewcontroller,ViewModel。當(dāng)然在View,model,Viewcontroller也會根據(jù)模塊的不同再細分。當(dāng)然,還有一個config里放著一些全局的,但是將來會改變的代碼,比如網(wǎng)絡(luò)請求地址等。

結(jié)構(gòu).png

代碼的耦合度對于項目的整體好壞是十分重要的,現(xiàn)在流行的模塊化就是降低代碼直接的耦合度。目前我們的項目里就是把一些經(jīng)常使用的函數(shù)封裝成工具類,這樣可以供以后或者你的同事使用。比如經(jīng)常使用的就算文字高度寬度,圓角處理等。其實就是一種封裝的思想,盡可能的將一些可重用東西封裝出去,一個好處是代碼的利用率高了很多,還有個好處就是你的Viewcontroller會'瘦'很多。

對于多人開發(fā),有時候你的一個ViewController會被他人調(diào)用,或許你的Viewcontroller有三種或者四種不同的調(diào)用方式。有一種方式,就是用一個Navigation導(dǎo)航類統(tǒng)一管理。如下圖:

導(dǎo)航.png

如果他人調(diào)用或者你要修改什么,直接通過這個類,這樣方便很多,也降低了代碼的耦合度。
還有一種方法就是傳入字典的方式,將需要傳入的參數(shù)轉(zhuǎn)化成字典,然后再Viewcontroller里接收,但是這樣的話,需要一份文檔去做介紹字典的key怎么設(shè)置,貌似有一種模塊化的方式是這樣處理的。

最后編輯于
?著作權(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)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,323評論 25 708
  • 該文章屬于<簡書 — 劉小壯>原創(chuàng),轉(zhuǎn)載請注明: <簡書 — 劉小壯> http://www.jianshu.co...
    Yiart閱讀 4,731評論 3 49
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,650評論 4 61
  • 所有的新手媽媽或待產(chǎn)媽媽肯定都處于很想“買買買”,但又奈何大著肚子或者娃纏身,無法出門。母嬰店東西貴,去香港搬又太...
    Bonnie21閱讀 827評論 0 1
  • 今天是手繪簡筆畫第2天,交個作業(yè)。 練習(xí)果然還是很有效的,全部直接針管筆一次完成,兩天時間,手抖的情況已經(jīng)好多了,...
    彩橙子閱讀 593評論 2 2

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