1. 遇到許多工程師缺乏比較規範化的使用FMDB、ASIRequest、公共宏定義處理、類別使用等。 2. APP內部,許多地方會用到這些公共類。 3. 尤爲是FMDB與ASIRequest使用的很糟糕。 4. 分層模式,屬於數據訪問層的封裝。
1. APP Internal Share Classes,包含了FMDB,ASIRequest框架。 2. 你能夠將APP內部公用功能類、宏定義、Model等放到對應的目錄下。 3. 這份文檔更大的意義是:指導性做用。
1. 以HTTP網絡請求爲例,採用面向接口的方式,設計了網絡請求層public api。 2. 開發者只須要按照登錄示例方式,新增協議方法,新增發送網絡請求方法、完成與失敗方法。 3. 使用者只須要: 3.1. 查看在HttpManagerProtocol.h相關接口說明。 3.2. VC類 conform HttpManagerProtocol協議,並實現感興趣的方法。 3.3. VC類發送網絡請求 [[HttpManager sharedManager] sendLoginHttpRequest:vc requestParam:param callbackParam:callbackParam]; 4. 接口方法將model或者錯誤信息返回給vc,用於進一步處理。 總結: 優點: 各個vc只須要實現本身感興趣的協議方法。 消息返回,只會返回給源消息發送者。(這個借鑑了target-action模式) 消息的發送與返回,邏輯清晰。 邏輯層與數據訪問層均是面向接口設計實現本身的功能,相互 劣勢: 須要新增比較多的協議方法。
1. 這個類並無真的建立(當前)。 2. DBManager能夠是一個(我的認爲應該最好是)APP singleton,處理多線程問題。 3. 對於多進程間數據庫訪問問題,能夠考慮採用其餘方式解決。
源碼示例git