總體要求
1.實(shí)現(xiàn)登陸,注冊孝赫,組網(wǎng)较木,燈控制,設(shè)置青柄,個(gè)人信息伐债,語音消息等內(nèi)容 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
2.支持多語言,iPhone 致开,iPad設(shè)計(jì)兼容
3.減少控制器代碼泳赋,Storyboard,ARC 開發(fā)為主
4.遵守一定的代碼規(guī)范
5.實(shí)現(xiàn)復(fù)雜控件的封裝
6.有一定的流程圖描述
7.邏輯層代碼復(fù)用
8.單元測試,代碼快捷測試
9.復(fù)用形式組網(wǎng)喇喉,用戶關(guān)系祖今,設(shè)備管理
關(guān)于模塊分類
主要模塊
登陸,組網(wǎng)拣技,燈控制千诬,設(shè)置,個(gè)人信息膏斤,語音消息
模塊間組合與外界交互方式
ISHInterfaceManager
1.管理本庫提供的所有業(yè)務(wù)接口徐绑,也是獲取具體業(yè)務(wù)接口的唯一入口點(diǎn)
2.獲取本身的實(shí)例
3.實(shí)例化各個(gè)模塊
4.獲取各個(gè)模塊
5.協(xié)調(diào)各個(gè)模塊當(dāng)內(nèi)部處理,或外部事件發(fā)生時(shí)莫辨,協(xié)調(diào)各個(gè)模塊進(jìn)行響應(yīng)
SHInterfaceManager
ISHInterfaceManager的具體實(shí)現(xiàn)
SHBaseModel
1.所有業(yè)務(wù)模塊的基類
2定義獲取實(shí)例的方法
3.抽象類傲茄,實(shí)現(xiàn)接口管理器的事件,由子類具體實(shí)現(xiàn)
ISHXXModule
模塊對外的接口沮榜,通過接口管理器獲得盘榨,具體實(shí)現(xiàn)是由各種邏輯代碼,工具類蟆融,HTTP草巡,SOCKET,數(shù)據(jù)庫,json解析等方式UI層對邏輯層的調(diào)用型酥,實(shí)現(xiàn)特定的業(yè)務(wù)邏輯山憨,例如登陸接口查乒,組網(wǎng)的流程等對外邏輯。所有模塊和管理器對外調(diào)用郁竟,使用接口形式玛迄,實(shí)際提供宏調(diào)用方法。簡化調(diào)用方式
視圖控制器
每個(gè)模塊對應(yīng)一個(gè)Stroryboard棚亩,AppDelegate 分iPhone和ipad蓖议,對應(yīng)的控制器,Stroryboard也有對應(yīng)的iPhone和ipad版本
目錄結(jié)構(gòu)
General:存放base控制器蔑舞,視圖 ,彈出窗口
Helpers:一些各模塊公用的工具類嘹屯,包括文件處理攻询,socket,HTTP請求州弟,XML解析钧栖,NSObject子類類別
Logics:存放邏輯層代碼,包括模塊文件婆翔,實(shí)體文件拯杠,manager
sections存放單元測試,目的是為了解決系統(tǒng)自帶單元測試的不足啃奴,提供UI界面潭陪,目前開源庫不支持64,未加
Vendors 開源庫最蕾,第三方SDK
xib:stroryboard 依溯,xib
SLLog 打印不同級別的日志
#define LOG_FLAG_ERROR ? ? ? ? ?SLLogFlagError
#define LOG_FLAG_WARN ? ? ? ? ? SLLogFlagWarning
#define LOG_FLAG_INFO ? ? ? ? ? ? SLLogFlagInfo
#define LOG_FLAG_DEBUG ? ? ? ? ?SLLogFlagDebug?
#define LOG_FLAG_VERBOSE ? ? ? SLLogFlagVerbose
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ??
HTTP 請求
通過AFNetWork封裝HTTP請求,傳入統(tǒng)一的Dict 瘟则,實(shí)現(xiàn)key value的配備黎炉,和URL等待返回結(jié)果,封裝錯(cuò)誤信息醋拧,返回具體結(jié)果給調(diào)用者解析慷嗜,最后返回到UI界面
Socket
1.基于基礎(chǔ)的SOCKET 通信機(jī)制,實(shí)現(xiàn)收發(fā)功能
2.構(gòu)造封裝公共字節(jié)流和解析公共部分的方法丹壕,假如子類有其他的除了公共部分的參數(shù)傳入或是公共部分以外的返回結(jié)果庆械,對應(yīng)給子類添加或解析。
3.發(fā)送機(jī)制有重發(fā)和超時(shí)機(jī)制,為解決UDP的丟包問題
未完善部分
文件存儲照藻,數(shù)據(jù)庫另患,單元測試凭语,UI界面