本篇文章帶大家了解一下依賴注入,介紹一下依賴注入解決的問題和它原生的寫法是,并聊聊Angular的依賴注入框架,希望對大家有所幫助!
最近在Angular項目中經常能碰到依賴注入這個關鍵詞,但是始終不理解它是怎么實現的,在Angular的官網上也只有關于它的使用,詳細點的原理并沒有說明,所以就下來我們就從原生的寫法來講解一下,依賴注入是用來解決什么問題的,他用js應該怎么去表現?!鞠嚓P教程推薦:《angular教程》】
依賴注入是什么
依賴注入簡稱DI,是面向對象編程中的一種設計原則,用來減少代碼之間的耦合度。
我們先來看一段代碼
class Video{ constructor(url){} } class Note{ video: Video constructor(){ this.video = new Video("https://aaaaa.mp4") } getScreenshot(){ this.video.getScreenshot() } } const note = new Note() note.getScreenshot()
假設我們用一個視頻類,它其中有一個方法 getScreenshot 獲取截圖,在實例化視頻類的時候,需要傳入一個視頻 url 這樣的參數。現在有一個筆記類,它需要去調用視頻類下的截圖方法,那么我們就可以說,筆記類是依賴于視頻類的。所以在筆記類的內部,我們就需要去實例化視頻類,這樣才能在筆記類中獲取視頻類的實例對象,并且調用它里面的截圖方法。
上面代碼的耦合度過高,并不推薦使用,比方說如果Video的視頻地址換了一個,那么在Note中就需要去改變傳入的視頻url,這樣假設要是有