假設我們有三層;用戶界面,業務,數據。我們正在使用DI。我不想通過UI訪問數據層。帶有隔離的分層應用中的DI
的問題是有關數據層的DI註冊。組合根在UI中,我不想在那裏提及任何數據。我發現這個answer。據我所知,我們應該參考所有圖層,並認爲它們不是圖層庫。這樣我可以指定我的業務層使用數據層或其他任何我想要的。畢竟這是爲什麼DI在附近。
這是正確的,但有一個問題!我們不應該在UI上使用數據層。但是,一旦開發人員意外地從UI引用數據,另一個人將數據層中的某些內容直接注入到UI類。所以他跳過了我不想要的業務層。
我該如何處理這種情況?我想要有一些限制,但另一方面,我想要DI靈活性。
當然有些人認爲我們可以有一個單獨的庫,只爲依賴註冊。
什麼這裏是最好的模式?
使用代碼評論來驗證其他開發人員不會執行您的架構準則禁止的事情。 – Steven
當然,我們可以有一些工具,但沒有更好的方法嗎? –