使用Dagger2前你必須了解的一些設(shè)計(jì)原則
Dagger是針對(duì)Java和Android的完全靜態(tài)的編譯時(shí)依賴注入框架。這是由Square創(chuàng)建的,現(xiàn)在由Google維護(hù),根據(jù)早期版本的改編
依賴倒置原則
- 高層次的模塊不應(yīng)該依賴低層次的模塊,它們都應(yīng)該依賴于抽象。
- 抽象不應(yīng)該依賴于具體的實(shí)現(xiàn),具體實(shí)現(xiàn)應(yīng)該依賴于抽象。
依賴倒置原則:程序應(yīng)該依賴于抽象接口,不要依賴具體的實(shí)現(xiàn)。
簡(jiǎn)單的說,應(yīng)該對(duì)抽象就行編程,不要對(duì)實(shí)現(xiàn)就行編程,這樣就可以達(dá)到解耦的目的。
面向?qū)ο蟮拈_發(fā)一般情況下抽象的變化概率很小,讓用戶程序依賴于抽象,實(shí)現(xiàn)的細(xì)節(jié)也依賴于抽象。即使實(shí)現(xiàn)細(xì)節(jié)不斷變動(dòng),只要抽象不變,客戶程序就不需要變化。這大大降低了客戶程序與實(shí)現(xiàn)細(xì)節(jié)的耦合度
圖解面相對(duì)象
圖解面相對(duì)象.jpg