日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

软件设计模式—依赖注入

發布時間:2024/4/15 asp.net 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 软件设计模式—依赖注入 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文作者:懸壺醉世

原文地址:為什么我們需要依賴注入?

以前剛入行的時候一直很困惑,spring這個東西為什么把new一個對象的事情搞這么麻煩。后來慢慢入行這才了解了依賴注入是怎么一回事。本文決定非常淺顯的給大家聊聊依賴注入。我們的疑問是從Spring框架的xml開始的,這個xml被人詬病已久。其實呢依賴注入并非值得是用xml來new對象,依賴注入其實是一種思想,一種方法。而xml是它最菜的實現方式。。由淺入深慢慢來~~~~~~

第一步:為什么我們不能new對象?

隨時隨地new對象會引發一個問題,就是你new的實例會滿天飛。這樣一來你每一個實體進行擴充,修改,放棄的時候你就需要滿世界的找對象,一個一個改過來。例如:

collection map=new HashMap();

有一天老大跟你說 HashMap不太行,全部換成新版的XXXXMap吧~~~你是不是需要全部一起換?所以這時候我們需要通過工廠模式來管理對象了。代碼如下:

collection map=MapFactory.createMap();

這樣一來,我們隨時想替換掉HashMap就變得非常簡單了。

第二步:為什么我們不用工廠模式,而要專門做依賴注入框架。

當你只需要一個Map對象的時候很簡單。這沒錯~~~但是你需要創建的對象是一個多層次的對象呢?這樣問題就來了。例如,我要一輛車,那么就需要輪胎,我需要一個輪胎,那么就需要一個輪轂,若干螺絲,外胎,內胎,剎車……那么問題就來了。我應該做的是造車的時候再種橡膠樹么?這樣不對啊。我們應該做的是,在造車的時候,就發現已經有了生產完全的輪胎,直接調用輪胎裝上去就行了。至于輪胎里面需要什么東西,我不是重新做,而是直接調用現成的東西。這就是依賴注入。他代表的意義是:我不是先有車才去生產輪胎,而是已經有了輪胎才去生產車。這樣的劃分也代表的是一種思維方式,讓你的所有對象之間從思維與實現上解耦。這樣一來我的對象才是真正的獨立。所以解決你肯定遇到了的一個困惑:XML是一個非常累人的依賴注入實現方式而已,依賴注入其實還有其他實現,例如注解的方式。

第三步,依賴注入是一個好的思想,但是優勢在什么地方呢?解耦在什么地方呢?

繼續沿用上面的造車的例子。造車,調用車輪,調用外胎,調用橡膠。我剛造好一輛車,現在我們需要把車輪換成另外一個車輪。這樣一來,依賴注入的優勢就體現出來了,因為你只需要替換掉調用車輪的車輪對象即可。

三步下來,依賴注入的優勢就出來了。特別是當團隊合作的時候,他完全可以不用理解造車輪的細節就可以完好的換掉車輪對象。現在你大概了解了什么叫做依賴注入,在spring實戰中,作者也強烈推薦用注解方式來操作spring。希望本文能幫助到各位。

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的软件设计模式—依赖注入的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。