匕首
dagger的意思是匕首
結(jié)合它所做的事情:解耦對(duì)象之間的依賴(lài)掐禁。讓人很容易聯(lián)想到庖丁解牛楔敌。
這是一把鋒利的匕首,可將牛身上的每個(gè)模塊切開(kāi)讲竿,這樣不就是解耦了嗎拟杉。
庖丁解牛
假設(shè)你有一個(gè)對(duì)象:牛
牛
你的牛由幾個(gè)部分組成:頭庄涡,腳,尾巴搬设,肚子
也就是說(shuō)你的牛依賴(lài)于 頭穴店,腳撕捍,尾巴,肚子泣洞。
模塊對(duì)象
解耦的好處:
牛有以上幾個(gè)部分忧风,牛依賴(lài)這幾個(gè)模塊。
現(xiàn)在球凰,我們將幾個(gè)模塊獨(dú)立出來(lái)狮腿,這樣,若你不滿(mǎn)意牛的腿(太小了)呕诉,你可以隨意更換其它的腿(大長(zhǎng)腿)啦缘厢。
利用dagger進(jìn)行依賴(lài)管理
我們可以利用dagger將牛解刨,牛的幾個(gè)模塊完全獨(dú)立甩挫。dagger來(lái)管理這些模贴硫,對(duì)其進(jìn)行拼裝。
明確的目標(biāo):
牛需要 頭伊者,腳英遭,尾巴,肚子
分析
- 需求方:牛
- 提供方:需要提供 頭亦渗,腳挖诸,尾巴,肚子
- 中介:將需求方與提供方結(jié)合在一起
三方在dagger中的表現(xiàn)
-
提供方
在dagger中用 @Module來(lái)描述提供方法精,@Provides描述具體提供什么樣的東西
-
中介
在dagger中用 @Component來(lái)描述中間商
-
需求方