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

前言

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

什么是架構(gòu)

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

為什么要架構(gòu)

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

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

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

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

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

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

導(dǎo)航.png

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

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

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

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

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