BeeHive組件化

理解關(guān)于Beehive的設(shè)計(jì)思想

Beehive的使用, 可以分3個(gè)核心的內(nèi)容
1.Service 服務(wù)
2.Module 模塊
3.podSpec 依賴注入

BeeHive主要是把我們平時(shí)使用的所有的業(yè)務(wù)功能,以單一模塊的形式進(jìn)行解耦.

Module與Service

  • 在BeeHive當(dāng)中最重要的兩個(gè)概念是Module 與Service,對應(yīng)成中文可以翻譯成“模塊”與“服務(wù)”。Module是有生命周期的桂对,其調(diào)用的時(shí)機(jī)是由事件來觸發(fā)的回俐,事件包括了系統(tǒng)事件,通用事件以及自定義事件鳍置。對于Module而言识补,BeeHive實(shí)現(xiàn)了隊(duì)列化回調(diào)Module方法蹂安,開發(fā)人員可以給某個(gè)系統(tǒng)事件注冊多個(gè)Module蝴悉,BeeHive會依次調(diào)用不同的Module處理方法。Service則是單純的代碼實(shí)現(xiàn)模塊瘾敢,可以是實(shí)現(xiàn)某個(gè)功能的代碼或業(yè)務(wù)代碼拍冠,Service是沒有生命周期的,在任何時(shí)候都可以調(diào)用簇抵。BeeHive借鑒了Spring的Service設(shè)計(jì)思想庆杜,Module與Service需要對接口進(jìn)行抽象,通過接口來關(guān)聯(lián)兩個(gè)不同的模塊碟摆,從而最大的降低代碼的耦合性晃财。

簡單粗暴理解為 : 它們都是構(gòu)建一個(gè)數(shù)據(jù)結(jié)構(gòu),然后根據(jù)這個(gè)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)它的生存環(huán)境典蜕,并讓它在這個(gè)環(huán)境中按照一定的規(guī)律不停地運(yùn)動断盛,在它們的不停運(yùn)動中設(shè)計(jì)一系列與環(huán)境或者與其他個(gè)體完成信息交換。

參照 Spring框架的設(shè)計(jì)理念

  • 把Bean比做一場演出中的演員愉舔,Context就是這場演出的舞臺背景钢猛,而Core應(yīng)該就是演出的道具了。只有它們在一起才能具備能演出一場好戲的最基本的條件轩缤。當(dāng)然有最基本的條件還不能使這場演出脫穎而出命迈,還要它表演的節(jié)目足夠精彩贩绕,這些節(jié)目就是Spring能提供的特色功能了。
  • Spring解決了一個(gè)非常關(guān)鍵的問題壶愤,它可以讓你把對象之間的依賴關(guān)系轉(zhuǎn)而用配置文件來管理淑倾,也就是它的依賴注入機(jī)制。而這個(gè)注入關(guān)系在一個(gè)叫Ioc的容器中管理征椒,



用自己的話總結(jié) :

  • BeeHive是一個(gè)把我們需要封裝的業(yè)務(wù)邏輯單獨(dú)抽離整理到一個(gè)Module中, 把業(yè)務(wù)邏輯從越來越臃腫的業(yè)務(wù)模塊中抽離出來.
  • Service是單純的代碼實(shí)現(xiàn)模塊, 可以面向協(xié)議編程的思想來理解, Service告訴你這個(gè)Module里面有什么樣的功能. Module注冊了Service中的協(xié)議并實(shí)現(xiàn)
  • 整個(gè)組件化的方案都是使用Cocoapod來管理的, 也就是podspec管理整個(gè)組件化的依賴注入.

與BeeHive組件化形成對比的方案

去Model化 : iOS應(yīng)用架構(gòu)談 組件化方案

CTMediator : CTMediator的組件化方案


組件化的方案可以算是一個(gè)架構(gòu)思想,這里需要使用哪種需結(jié)合項(xiàng)目業(yè)務(wù)的整體實(shí)現(xiàn).


利用Beehive實(shí)現(xiàn)的Demo : LgMainProject

項(xiàng)目架構(gòu)圖

LgMainProject 
    |   
    | - LgMainProject (主項(xiàng)目)
    |
    | - LgComponents (組件)
            | 
            | _ LgFramework (遠(yuǎn)程倉庫)
            | _ LgPublic (本地倉庫)
            | _ LgUIKit (本地倉庫)

模塊思想 :

Module Class

項(xiàng)目框架 :

Demo框架

參考文檔 :
蘑菇街娇哆、滴滴、淘寶陕靠、微信的組件化架構(gòu)解析
3分鐘讓你的框架支持cocoapods,podspec文件講解
蘑菇街 App 的組件化之路
BeeHive 框架實(shí)現(xiàn)原理分析
BeeHive官方源碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迂尝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剪芥,更是在濱河造成了極大的恐慌垄开,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件税肪,死亡現(xiàn)場離奇詭異溉躲,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)益兄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門锻梳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人净捅,你說我怎么就攤上這事疑枯。” “怎么了蛔六?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵荆永,是天一觀的道長。 經(jīng)常有香客問我国章,道長具钥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任液兽,我火速辦了婚禮骂删,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘四啰。我一直安慰自己宁玫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布柑晒。 她就那樣靜靜地躺著撬统,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敦迄。 梳的紋絲不亂的頭發(fā)上恋追,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天凭迹,我揣著相機(jī)與錄音,去河邊找鬼苦囱。 笑死嗅绸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的撕彤。 我是一名探鬼主播鱼鸠,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼羹铅!你這毒婦竟也來了蚀狰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤职员,失蹤者是張志新(化名)和其女友劉穎麻蹋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體焊切,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扮授,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了专肪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刹勃。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖嚎尤,靈堂內(nèi)的尸體忽然破棺而出荔仁,到底是詐尸還是另有隱情,我是刑警寧澤芽死,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布乏梁,位于F島的核電站,受9級特大地震影響收奔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滓玖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一坪哄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧势篡,春花似錦翩肌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至碍侦,卻和暖如春粱坤,著一層夾襖步出監(jiān)牢的瞬間隶糕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工站玄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枚驻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓株旷,卻偏偏與公主長得像再登,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子晾剖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353