介面存在的意義只在於介面依賴注入

2021-08-29 22:16:17 字數 631 閱讀 3793

關於介面存在的意義,之前有一篇帖子討論過(並且跟帖無數,我也看過,這裡發表一點自己的看法。拋磚引玉。

我的立場是站在spring的依賴注入的角度上來思考這個問題的。個人認為,介面存在的意義只在於介面依賴注入的時候得到淋漓盡致的體現。至於其他時候,作用則並不是那麼大了。其理由如下:

1. 在非介面注入的情況下,介面的定義,某種程度上可以理解為對類的乙個總的設計,因為其方法並不需要實現,所以可以更多的去思考業務上的邏輯問題,一方面更多心思的去想如何把功能點設計的更加全面,另一方面當我們在實現這個介面的時候,就會受到這個介面的方法定義的約束,這個時候盡可能多的就是考慮如何實現具體的業務的問題,而不用去考慮業務的設計的是否周全的問題。

2. 我的第二點略帶否定第一點的意味。如果說只是起乙個總領的作用的話,相信當初在設計這個類的時候的uml圖裡面就已經寫的很詳細了。即使我不需要這乙個介面,我根據我設計完備的uml圖,我一樣的可以在寫類的方法的時候只關注我的類的方法的實現,而不用去考慮類的方法設計是否完備。

3. 在spring的介面注入的時候,這個時候方才體現了介面的優勢。我們只呼叫介面,介面的具體實現可以有乙個,也可以有n個,但是具體呼叫哪乙個實現,我們可以動態的根據配置檔案,在具體執行的時候再來決定。這就相當於用呼叫介面,把更多的靈活性留給了以後的開發和維護,以及功能模組的新增。

解決只存在於Release版本的重定義符號問題

問題表現如下 1 libcmt.lib invarg.obj error lnk2005 invoke watson 已經在 libcmtd.lib invarg.obj 中定義 1 正在建立庫 output release upgrade.lib 和物件 output release upgrad...

設計的意義 互動的體驗介面

引言 設計有潛力成為又乙個中國企業界人人談論的能改變一切的 魔法棒 可如果希望從設計中獲益,那麼在設計成為乙個包羅永珍的流行詞彙之前,至少要搞清設計究竟是什麼?設計 正成為中國最熱門的詞彙之一。企業界的人向外尋找學習的標桿,他們發現,南韓三星通過設計改變了其低廉產品的品牌形象。時尚產業早已經把一切都...

24 介面測試的意義

在筆者看來介面自動化測試有以下四點優勢 1.提高版本發布質量 2.縮短專案週期 3.發現更多手工測試難以暴露的問題 4.提高測試效率 我們先說第一點 提高版本發布質量 我們知道,絕大多數問題都會暴露在功能測試階段,如果能在功能測試之前減少bug數量,那麼一定會減少測試版本的發布。那麼怎樣減少功能測試...