寫在開頭蹦魔,本人是一名資深伸手黨(手動滑稽)啄栓,工作了差不多四年了撞叽,而現(xiàn)在對iOS已經(jīng)懷疑人生了姻成,具體原因都懂〔辶洌現(xiàn)在對技術(shù)或是自己一個總結(jié)吧。
言歸正傳
? ? iOS其實項目結(jié)構(gòu)分享出來的已經(jīng)有很多了科展,我也是一步步伸手然后確定了現(xiàn)在這個結(jié)構(gòu)均牢,看圖
? ? 簡單介紹下作用以及為什么要這么分
1.common
? ? 放一些通用類,比如復用的cell才睹,model等徘跪。
? ? 為什么放在這個層級里面,這個跟項目有些關(guān)系琅攘,因為我之前在外包里面工作垮庐,項目都是多人協(xié)作,為了不想做重復工作坞琴,就把這個層級提到顯眼處哨查。
2.3rd
? ? 放一些沒法放入Pods的三方資源,比如支付寶
? ? 為什么不放在common里面剧辐,需要保持分明的分工寒亥,這樣子不會相互影響
3.Define 文件夾,宏管理文件夾
這個必須放一張圖了
? ? 看名字應(yīng)該就大概清楚了荧关,每個.h文件負責一個歸類
4.Help
? ? 這個文件夾可以放些Category溉奕,Extensions,因外包公司項目需要羞酗,我把很多項目上需要用到的一些封裝放在這里腐宋,不用組員每次都去重新重寫。
5.SuperClass
? ? 顧名思義檀轨,這個文件夾是放一些基類文件,具體內(nèi)容這里不敘述了
6.Sections
? ? 先放出我的寫法
這個文件夾內(nèi)容是差異比較大的地方
寫法基本分為兩種欺嗤,一種就是上面的参萄,另一種是把整個工程的controller,model,view分開來寫的
? ? 如圖:
? ? 如上圖分布,即(controller,view,model)這樣子分布煎饼,結(jié)構(gòu)很清晰讹挎,很適合個人開發(fā),對于新人而言我覺得對于閱讀性不是很好吆玖,如果是新接手的人員+寫項目的命名不規(guī)范筒溃,那么光閱讀代碼都很費勁
? ? 說說我的寫法,整個項目可以按照模塊進行劃分(別急沾乘,這里文件以及代碼規(guī)范都是有模板怜奖,直接創(chuàng)建就可以了,后面會寫到)翅阵,在進行多人協(xié)助的時候可以互相不干擾歪玲。出了什么問題迁央,都可以找著誰負責的哪個模塊,然后進行滥崩。岖圈。。钙皮。(腦補)蜂科。
? ? 當然,示例的這個項目是按MVVM劃分的短条,跟具體用什么模式影響不大导匣,這里我只說下結(jié)構(gòu)。
? ? 最后申明下慌烧,此結(jié)構(gòu)是基于多人協(xié)作的條件下生成的逐抑。
7.pods
? ? 這塊沒什么好說的,搜索一大把
總結(jié):
? ? 對于項目結(jié)構(gòu)來說屹蚊,其實不是強迫癥的話厕氨,任何模式都可以完成,只是個人習慣愛好而已汹粤,結(jié)合項目情況命斧,適當選擇某一種來進行開發(fā)(說再多也是為了節(jié)約開發(fā)時間,不加班嘱兼,不加班国葬,不加班....重要的事情說三遍)。
最說說一句:
? ? ?這是第一次嘗試著寫簡書芹壕,本人文采有限(垃圾)汇四,有啥不對的,你們來打我呀踢涌,還是算了通孽,別打我。
? ? 好了睁壁,下期我會放出我之前項目的一些模塊背苦。對于內(nèi)容,如果有什么錯誤的地方潘明,歡迎大家指正行剂。