干貨:智能家居app的軟件結(jié)構(gòu)設(shè)計(jì)揭秘
傳統(tǒng)意義上的中間件是位于平臺(硬件和操作系統(tǒng))和具體應(yīng)用之間的通用服務(wù),這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)。智能家居app軟件結(jié)構(gòu)設(shè)計(jì)的主要任務(wù)是分層設(shè)計(jì)軟件模塊,并明確中間件的特點(diǎn)和作用。
分層設(shè)計(jì)軟件模塊結(jié)構(gòu)主要是把軟件模塊組織成良好的層次系統(tǒng),并描述各層次模塊間的關(guān)系。層與層之間是松耦合的關(guān)系,下層模塊負(fù)責(zé)為上層模塊提供支持。智能家居app中間件是位于 Android 操作系統(tǒng)和用戶功能之間可復(fù)用的功能模塊,具有良好的復(fù)用價(jià)值和擴(kuò)展性。開發(fā)人員可以基于此中間件進(jìn)行二次開發(fā),實(shí)現(xiàn)智能家居系統(tǒng)其他 APP。
1. 智能家居app軟件模塊結(jié)構(gòu)
軟件分層是總體設(shè)計(jì)階段常用的軟件結(jié)構(gòu)設(shè)計(jì)方法。智能家居APP 采用分層結(jié)構(gòu),從上到下共分為四層,分別是用戶界面層、用戶功能層、中間件層和操作系統(tǒng)層,其中,中間件層又分為核心功能層和基礎(chǔ)功能層。
層與層之間存在自上而下的依賴關(guān)系,下層為上層提供公開的服務(wù)接口,但隱藏具體的實(shí)現(xiàn)細(xì)節(jié),當(dāng)某一層的內(nèi)部實(shí)現(xiàn)發(fā)生變化時(shí),只要外部接口不變,就不會(huì)影響到其他層的實(shí)現(xiàn)。每個(gè)層次按模塊劃分,各模塊之間相互獨(dú)立,不同模塊間通過接口相關(guān)聯(lián),盡量滿足高內(nèi)聚低耦合的準(zhǔn)則。
2. 智能家居 APP 各層模塊的功能
智能家居 APP 各層模塊的功能如下表所列。
3.智能家居 APP 各層次的組成模塊
以 Android 操作系統(tǒng)為基礎(chǔ),中間件基礎(chǔ)功能層為核心功能層提供網(wǎng)絡(luò)通信、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)管理和第三方庫等基礎(chǔ)服務(wù)。中間件核心功能層為用戶功能層提供所需的設(shè)備模型、流媒體控制、語音控制、消息推送、數(shù)據(jù)訪問代理、升級管理等核心服務(wù)。用戶功能層依賴中間件層提供的服務(wù),實(shí)現(xiàn)用戶需要的具體功能。最終,用戶功能層通過 UI 界面與用戶交互。
用戶功能是智能家居 APP 直接展現(xiàn)給用戶的基礎(chǔ)功能,這里僅僅列出了一些核心功能。中間件是介于用戶功能和 Android 操作系統(tǒng)之間的服務(wù)支持層,可作為獨(dú)立組件開發(fā),具有重復(fù)使用的價(jià)值?;谥虚g件,開發(fā)人員可以開發(fā)智能家居系統(tǒng)其他APP,這也是智能家居app采用分層結(jié)構(gòu)的優(yōu)點(diǎn)。