2013-08-23 146 views
1

我剛剛繼承了一個傳統的C#& VB.Net項目,我將不得不從現在開始維護和增強如何。將Ninject添加到傳統項目C#

沒有接口,顯然沒有依賴注入。

我想要做的第一件事就是創建接口並添加NInject,然後這可以最終單元測試項目。

這是一個好主意還是應該讓它一個人留下?

在傳統項目中實施DI的最佳實踐是什麼?

感謝

回答

1

我不認爲這有一組最佳實踐,比使用常識等 - 這是怎樣的一個情況通過的情況。有幾個重要的問題要問自己:

  • 多少努力將被要求創建針對當前類的接口?

  • 需要多少額外的努力來編寫適當的 單元測試?這些單元測試會比所花費的時間增加更多的價值嗎?

  • 這個遺留系統甚至要維持多久?有 沒有比做一個巨大的升級(需要由開發人員,但由產品用戶測試不僅 )在 18個月更換。

  • 此外,這個遺留系統已經到位多久了 沒有問題?如果它看起來很穩定,沒有理由去創造工作,並且確實維護量很低。
+0

1)並不多,這不是一個大的系統,我已經確定了略多於10個實體2),這將是一個兼職的項目,我可能沒有維持幾個月的時間,但我有一個預算鞏固它和一些空閒時間。 3)這個系統不會在不久的將來被取代,也許不會在10年內被取代4)沒有問題,主要是因爲前開發者知道所有的來龍去脈。我不,並且客戶願意爲我的學習時間提供資金,所以我認爲這將是一個很好的方法來做到這一點 – SerenityNow

+0

我認爲所有這些都使得它成爲一個IoC的好選擇,除了第二點:他們希望你鞏固它。我會爭辯說,比重寫代碼有更好的用途,只是爲了做一些單元測試。從他們的角度來看,諸如性能,異常處理和其他指標之類的東西比僅在代碼更改時(並且在幕後更多)執行的單元測試更有價值。 – wilso132

+0

感謝您的幫助 – SerenityNow