最主要的目的在于減少代碼量,提高復(fù)用度,降低耦合度,方便后期修改。結(jié)構(gòu)清晰,方便測(cè)試。
MVVM:在MVC的基礎(chǔ)上,將部分業(yè)務(wù)邏輯抽出,放在一個(gè)ViewModel里面。避免某一個(gè)類中的代碼過(guò)于復(fù)雜,后期難以維護(hù),由其是ViewController里面,同時(shí)提高復(fù)用度。
- Define —— 用于存放些宏(#define)。
- Models —— 用于存放模型類。如:BaseModel.h,CollectionModel.h
- NetworkManager —— 用于存放網(wǎng)絡(luò)請(qǐng)求類
- Resources —— 用于存放資源,例如xib,storyboard,圖片,plist,音頻,視頻。
- Util —— 通用的、與業(yè)務(wù)無(wú)關(guān)的,可以獨(dú)立出來(lái),可供其他項(xiàng)目使用的分類Category和擴(kuò)展或者工具類
- Tools,與某些業(yè)務(wù)有關(guān),通用性只限于某幾個(gè)業(yè)務(wù)類之間,比如數(shù)據(jù)正則匹配等。能復(fù)用的視圖Views
- Vendors —— 用于存放第三方框架或者第三方SDK文件
- View —— 用于存放視圖類
- ViewControllers —— 用于存放視圖控制器類,也就是View層。存放一些界面簡(jiǎn)單的ViewController。之后就是按照業(yè)務(wù)邏輯創(chuàng)建文件夾。
- ViewModel —— 用于存放視圖模型類,及處理 View 和 Model 之間的業(yè)務(wù)邏輯和網(wǎng)絡(luò)請(qǐng)求??梢苑乓恍﹎anager管理類,處理一些業(yè)務(wù)邏輯。
- Config:就是工程的配置文件,用于放置程序的一些配置,UI高度,方便統(tǒng)一修改。.pch .h
- 業(yè)務(wù)邏輯類