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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

依赖注入–字段vs构造函数vs方法

發布時間:2023/12/3 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 依赖注入–字段vs构造函数vs方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

嗨,今天,我想簡單地討論將依賴項注入您的類的不同方式。

通常,您有以下三種注射方法

  • 直接進入字段/屬性
  • 通過顯式的setter方法
  • 通過顯式的構造函數參數


現場注入

這種類型的注入為將所需的依賴項注入到類中提供了某種反射機制。

盡管這種注入類型的好處是,它消除了諸如setter方法或構造函數參數之類的混亂代碼,但其缺點是這些依賴性是不可見的。 如果從外部查看類,則只會看到公共方法,并且可能是構造函數。

即使這使您非常清楚地了解了類提供的服務,但在我看來,它仍然具有以下主要缺點:

在為此特定類編寫測試時,您必須檢查該類以查看所需的依賴項,并且必須使用DI框架(即使是簡單的測試),也必須使用一種反射機制來注入依賴項(模擬/存根/真實)。

更糟糕的是,傳入依賴項的數量隱藏在該類中。 當然,您可以使用工具(JDepend等,pp。)告訴您依賴性的數量和方向,或者使用一個文件來指定注入,但是您必須依靠這種工具或檢查類。

我觀察到的另一個缺點是,與使用Setter或Constructor Injection的情況相比,創建具有多個職責的類的機會更高。
就像是:

哦,讓我們使用這個精美的注解在這里注入我們需要的服務...幾天/幾小時后:測試這種野獸是如此的困難

二傳手注射

注入器注入工具注入器方法,每個依賴項一個,DI框架用于注入依賴項。

這是一個變體,它使依賴項顯式顯示,并且使您可以清楚地了解特定類的依賴項。

在測試過程中,它的好處是您不必使用DI框架或反射機制,而可以直接設置依賴項。

這種方法的缺點是:您可以構造處于無法使用狀態的類。 這是因為如果需要或可選依賴項,則無法與外部區分開。

構造函數注入

構造函數注入對類的構造函數進行檢測,DI框架使用該類來注入依賴項。 這是使依賴關系明確的另一個變體。

與Setter注入相反,它可以防止您在不規則狀態下創建類。 (當然,您可以傳遞null,但這不僅僅是一種作弊,對嗎?)所以我要說,這是最嚴格的變體:

每個依賴項都是強制性的

這種注射類型的好處是

  • 您必須只閱讀一種方法,即構造函數,才能弄清楚此類的依賴關系。
  • 您創建了一個不可變的類,它使緩存變得如此簡單
  • 同樣,這里的缺點是您無法區分可選依賴項和必需依賴項。 構造函數強制設置所有字段。

    我要討論的最后一個變體是:

    混合二傳手和構造劑注射

    我個人更喜歡此變體,混合了Setter和Constructor注入。

    這給您:

    • 在合同級別上區分強制性依賴項和可選性的能力
    • 清楚說明特定類的依賴項是什么
    • 使您可以輕松地檢查班級是否負有重大責任
    • 構建后正確配置的類

    與純方法類似,使用這種注入進行測試非常簡單。 您不需要DI框架,并且可以輕松地將模擬的/存根的/真實的實現傳遞到要測試的類中。

    使用/喜歡什么?

    這個答案在很大程度上取決于您的框架/團隊規則/語言。

    但是我強烈建議您使用顯式注入變量之一,因為它們使您無需使用依賴注入框架即可編寫純單元測試。

    翻譯自: https://www.javacodegeeks.com/2015/01/dependency-injection-field-vs-constructor-vs-method.html

    總結

    以上是生活随笔為你收集整理的依赖注入–字段vs构造函数vs方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 女警白嫩翘臀呻吟迎合 | 黄网站在线观看 | 无毒黄色网址 | 韩国中文字幕在线观看 | 87福利视频 | 久久久久久国产精品三级玉女聊斋 | 亚洲女人av | 国产成人精品视频 | 中文字幕在线播放不卡 | 国产成人在线一区 | 国产ts人妖调教重口男 | 在线观看国产 | 在线你懂| 奶水旺盛的女人伦理 | 久久受| 欧美高清精品一区二区 | 山外人精品影院 | juliaann第一次和老师 | 久久久欧美精品sm网站 | 日韩免费在线播放 | 久久网站av| 激情婷婷丁香 | 成人午夜视频免费在线观看 | 欧美一级片一区二区 | 亚洲熟妇一区二区 | jizzzz中国 | www.av777 | 澳门久久久 | 99热黄色 | 午夜激情影视 | 奇米在线播放 | 被警察猛c猛男男男 | 日韩免费视频一区二区 | 在线无 | 91视频 - 88av| 日韩三级中文 | 日日好av | 久久国产精品系列 | 91一二区| 另一种灿烂生活 | 青青国产在线视频 | 国产99视频在线 | 欧美成人黄色网 | 久久久久亚洲色欲AV无码网站 | 男人和女人做爽爽视频 | 国产精品久久久免费观看 | 国产情侣91 | 欧洲一区二区在线观看 | 日韩欧av| 精品视频日韩 | 五月天综合激情网 | 国产三级理论片 | 在线不欧美 | 亚洲 欧美 自拍偷拍 | 亚洲网站在线观看 | 成人精品一区二区三区 | 黄色网免费观看 | 精品少妇av | 国产精品一区二区三区免费视频 | 香蕉成人av | 黄色片在线观看免费 | 欧美四虎 | 逼逼av | 亚洲精品少妇 | 朝桐光在线播放 | 色哟哟视频在线 | 欧美| 久久久久久久久久久免费 | 一区二区美女视频 | 99久久这里只有精品 | 污网站在线观看免费 | 神马午夜91 | 国产精品一区二区三区不卡 | 国产做爰免费视频观看 | 一区二区在线视频 | 国产成人免费视频 | 91狠狠爱| 玖玖在线播放 | 欧美日本在线播放 | 国产精品 欧美 日韩 | 极品少妇在线观看 | 青青草娱乐视频 | av黄色在线播放 | 综合性色| 国产精品久久久久不卡 | 成人91看片 | 欧美偷拍视频 | 在线播放色 | 毛片在线免费观看网址 | 美女调教视频 | 日韩激情在线视频 | 激情男女视频 | 91丝袜呻吟高潮美腿白嫩在线观看 | 桃色91 | 成人激情在线观看 | 日本少妇久久久 | 国产精品久久久久一区二区 | 国产精品亚洲αv天堂无码 伊人性视频 | 国产特级黄色片 |