參考:
http://ios.jobbole.com/84897/
架構(gòu)模式 簡述
猿題庫架構(gòu)設(shè)計
"沒有最好的架構(gòu),只有適合自己的業(yè)務(wù)的架構(gòu)才是最好的架構(gòu),并且它是逐步地變強變大"
架構(gòu)學(xué)習(xí):
研究50個優(yōu)秀框架的代碼設(shè)計理念
研究50個優(yōu)秀APP的設(shè)計結(jié)構(gòu)
學(xué)習(xí)架構(gòu)設(shè)計理論知識
軟件一步步實現(xiàn)完成他的結(jié)構(gòu)包括:
1.目錄結(jié)構(gòu)
2.業(yè)務(wù)結(jié)構(gòu)
3.視圖結(jié)構(gòu)
簡單的個人開發(fā),簡單的MVC即可滿足,如果是20人的大團隊開發(fā)一個app,此時大家就算各自負責自己的模塊,也會有時造成沖突;
將單獨的功能做成第三方庫
對各個模塊進行解耦處理
- urlRoute:
組件化架構(gòu)設(shè)計
學(xué)習(xí)參考:JLRouter
Paste_Image.png
-
MVVM 架構(gòu)
參考:
https://www.objccn.io/issue-13-1/
https://www.objc.io/issues/13-architecture/mvvm/
http://www.teehanlax.com/blog/krush-ios-architecture/
MVC的增強版?
Paste_Image.png -
MVP架構(gòu)
Model View Presenter(協(xié)調(diào)器)
優(yōu)勢:劃分、可測性、易用
MVP 架構(gòu)在 iOS 中意味著極好的可測性和巨大的代碼量
Paste_Image.png view層
view的一些封裝重用,一個精心設(shè)計過的APP里面,應(yīng)該有很多View事可以封裝重用的;比如cell、button、view等;model層
數(shù)據(jù)對象,網(wǎng)絡(luò)請求,數(shù)據(jù)庫操作,緩存處理;Presenter層
model層和view層的一個橋梁,負責更新view的數(shù)據(jù)和狀態(tài)