今天,我和同事討論了一個模型的依賴注入。他堅信有一個模型的DI。因爲他不想創建具體的對象。我們是否需要依賴注入模型
但是我覺得......只有在我們可以用其他替代實現的情況下,DI才需要。在商業模式的情況下,它是固定的(如果該模型是汽車行業,它將解決僅汽車的問題..),並不能像其他技術實現替換..
我是否正確或是否有任何意義的實施DI用於商業模式?我覺得沒有必要爲每個模型創建接口,因爲模型沒有任何行爲和DTO。
請指教。
今天,我和同事討論了一個模型的依賴注入。他堅信有一個模型的DI。因爲他不想創建具體的對象。我們是否需要依賴注入模型
但是我覺得......只有在我們可以用其他替代實現的情況下,DI才需要。在商業模式的情況下,它是固定的(如果該模型是汽車行業,它將解決僅汽車的問題..),並不能像其他技術實現替換..
我是否正確或是否有任何意義的實施DI用於商業模式?我覺得沒有必要爲每個模型創建接口,因爲模型沒有任何行爲和DTO。
請指教。
「只有在我們可以用其他替代實現的情況下才需要DI。」
我同意,所以不Wikipedia,「的依賴注入模式的主要目的是讓選擇在運行時給定的依賴接口的多種實現中...」
除非其實有多個實施,DI提供很少的好處。 也許最常見的答案(例如When to use Dependency Injection)是總是有兩個實現:一個用於生產,一個用於測試。然而,現代測試框架可以有效地嘲諷依賴關係,而無需單獨的DI框架。
我很少需要爲數據模型對象創建接口。而且由於數據通常是應用程序的動態部分(例如,從數據庫讀取數據或從服務調用後編組XML),它在創建應用程序組件時並不存在,這是您最常使用的地方DI。這就是爲什麼在XML和JSON中表示抽象是不可行的。您需要添加其他自定義數據元素來確定類型以解決不明確性。
所以在我看來,數據模型的DI是矯枉過正的。也就是說,您應該始終擁有一個工廠,並將業務邏輯與數據來源之間清晰分開。