iOS知識(shí)點(diǎn)總結(jié)(5)- 設(shè)計(jì)一個(gè)App

首先舍悯,App搭建要遵循的架構(gòu)原則:易讀性、易維護(hù)性睡雇、易擴(kuò)展性萌衬。其次?根據(jù)產(chǎn)品需求和設(shè)計(jì)圖,腦中先建立一個(gè)產(chǎn)品架構(gòu)它抱,

不同類型的產(chǎn)品秕豫,技術(shù)選型也有所不同,通常我會(huì)選擇一些當(dāng)下比較熱門抗愁、好用的第三方框架馁蒂。例如:YYKit?

常見的分層架構(gòu):視圖層、業(yè)務(wù)層蜘腌、網(wǎng)絡(luò)層沫屡、數(shù)據(jù)層。

好架構(gòu)的前提:

有嚴(yán)格的代碼規(guī)范撮珠,結(jié)構(gòu)目錄清晰沮脖,功能模塊分類明確

注釋統(tǒng)一明確,有一致規(guī)范

避免復(fù)雜的依賴關(guān)系芯急,確保代碼的高封裝性和高復(fù)用性勺届,減少冗余代碼

沒(méi)有橫向依賴,盡可能少的跨層訪問(wèn)

對(duì)業(yè)務(wù)方該限制的地方有限制娶耍,該靈活的地方要給業(yè)務(wù)方創(chuàng)造靈活實(shí)現(xiàn)的條件

易測(cè)試免姿,易拓展

接口少,接口參數(shù)少

低內(nèi)存榕酒,高性能

提高模塊化程度胚膊,增加組件粒度

項(xiàng)目目錄結(jié)構(gòu):

1.應(yīng)用入口(APPDelegate)

AppDelegate是應(yīng)用的代理,應(yīng)用級(jí)的事件都委托它處理想鹰,包含啟動(dòng)退出紊婉、推送等事件,以及IM辑舷、支付等第三方的回調(diào)喻犁,這使得AppDelegate內(nèi)代碼龐大,錯(cuò)綜復(fù)雜,十分不利于閱讀和維護(hù)肢础,因此可以新增了一個(gè)AppDelegate+AppService類別还栓,用來(lái)處理生命周期之外的業(yè)務(wù),AppDelegate作為事件入口传轰,具體實(shí)現(xiàn)直接調(diào)用類別里的方法蝙云,只為更清晰。

2.功能模塊(Modules) 遵循高內(nèi)聚 低耦合的思想

Modules包含了應(yīng)用內(nèi)的功能模塊 ,每個(gè)模塊內(nèi)使用的是MVC模式路召,一般包含Model、View波材、Controller這三個(gè)文件夾股淡,根據(jù)需求或者業(yè)務(wù)邏輯的復(fù)雜度改為MVVM模式 感覺(jué)這個(gè)不是一成不變的

3.管理模塊(Manager)

Manager的定義是全局基礎(chǔ)服務(wù),通常使用類方法或者單例來(lái)實(shí)現(xiàn)廷区,主要包含對(duì)應(yīng)用唯灵、用戶的管理和服務(wù),例如網(wǎng)絡(luò)狀態(tài)監(jiān)聽隙轻,廣告頁(yè)應(yīng)用介紹頁(yè)等埠帕;用戶快速登錄退出操作以及登錄狀態(tài)的獲取等。

4.工具類(Utilities)

Utils文件夾內(nèi)主要包含全局通用工具玖绿,來(lái)源于對(duì)三方框架的二次封裝敛瓷,或是自己寫的工具類。

5.基類(Base)

Base文件夾用來(lái)存放項(xiàng)目的基類斑匪,基類作用包含一些定制化的內(nèi)容呐籽,例如頁(yè)面樣式,空數(shù)據(jù)頁(yè)面等蚀瘸,使用基類來(lái)實(shí)現(xiàn)狡蝶,可以統(tǒng)一控制,利于維護(hù)贮勃,減少冗余贪惹。

6.分類(Category)

對(duì)系統(tǒng)類、自定義類增加的類別都放在這里寂嘉。

7.宏定義奏瞬、頭文件(Define)

全局宏顧名思義是定義了一些全局通用宏、枚舉垫释。

一般是這幾種:工具宏定義(UtilsMacros):比如獲取屏幕寬高丝格,系統(tǒng)版本,顏色賦值棵譬,數(shù)據(jù)類型驗(yàn)證等显蝌;

接口宏定義(URLMacros):定義服務(wù)器接口地址以及環(huán)境開關(guān);

枚舉(Enumerate):全局的枚舉

8.資源文件(Resource)

主要是各種文件,json曼尊、xml酬诀、dat、圖片等骆撇。

9.第三方庫(kù)(ThridParty)

第三方文件夾放一些第三方的類庫(kù)和對(duì)第三方封裝瞒御,比如第三方登錄、支付神郊、IM等肴裙。

10.Pods(管理第三方庫(kù))

包管理工具,方便我們更新管理第三方庫(kù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涌乳,一起剝皮案震驚了整個(gè)濱河市蜻懦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夕晓,老刑警劉巖宛乃,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蒸辆,居然都是意外死亡征炼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門躬贡,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谆奥,“玉大人,你說(shuō)我怎么就攤上這事逗宜⌒塾遥” “怎么了?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵纺讲,是天一觀的道長(zhǎng)擂仍。 經(jīng)常有香客問(wèn)我,道長(zhǎng)熬甚,這世上最難降的妖魔是什么逢渔? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮乡括,結(jié)果婚禮上肃廓,老公的妹妹穿的比我還像新娘。我一直安慰自己诲泌,他們只是感情好盲赊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著敷扫,像睡著了一般哀蘑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天绘迁,我揣著相機(jī)與錄音合溺,去河邊找鬼。 笑死缀台,一個(gè)胖子當(dāng)著我的面吹牛棠赛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膛腐,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼睛约,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了哲身?” 一聲冷哼從身側(cè)響起痰腮,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎律罢,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棍丐,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡误辑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了歌逢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巾钉。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖秘案,靈堂內(nèi)的尸體忽然破棺而出砰苍,到底是詐尸還是另有隱情,我是刑警寧澤阱高,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布赚导,位于F島的核電站,受9級(jí)特大地震影響赤惊,放射性物質(zhì)發(fā)生泄漏吼旧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一未舟、第九天 我趴在偏房一處隱蔽的房頂上張望圈暗。 院中可真熱鬧,春花似錦裕膀、人聲如沸员串。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)寸齐。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間访忿,已是汗流浹背瞧栗。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留海铆,地道東北人迹恐。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像卧斟,于是被迫代替她去往敵國(guó)和親殴边。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,111評(píng)論 1 32
  • (平水韻珍语,仄起入韻) 葉面冰晶白露凝锤岸,潸痕遍布郁筠藤。 寒衣不覺(jué)輕如夢(mèng)板乙,絲縷閑愁鬢發(fā)承是偷。 海之蘭老師原玉: 夜起蒼...
    云橫秦嶺a681閱讀 558評(píng)論 11 18
  • ctrl+c是終止當(dāng)前在終端窗口中運(yùn)行的命令或腳本, kill -9 pid募逞,是不顧后果的強(qiáng)制終止(如果的你的速度...
    F的平方閱讀 6,604評(píng)論 0 0
  • 【思維導(dǎo)圖實(shí)戰(zhàn)派】刻意練習(xí)之“遇見……”百副計(jì)劃:2/100 這是昨天下午所畫蛋铆,因兒子被批事件,引發(fā)我內(nèi)在強(qiáng)烈情緒...
  • 媽媽是重慶人放接,時(shí)隔一年我們又回到她的家鄉(xiāng)刺啦。外婆開心得不說(shuō)話也是笑著的,轉(zhuǎn)身進(jìn)廚房忙活起來(lái)纠脾,一會(huì)兒工夫就端出好幾個(gè)麻...
    莫知西東閱讀 863評(píng)論 8 7