0
我有一個具體的類:驗證器,可以完成一件事情。控制原理失敗 - 單個混凝土類
我沒有必要創建一個接口,因爲這隻有一個實現。
將Validator實例注入更高級別的類時,這是否會失敗反轉原理的依賴關係?
如果我使用的接口該類它會導致命名問題
我有一個具體的類:驗證器,可以完成一件事情。控制原理失敗 - 單個混凝土類
我沒有必要創建一個接口,因爲這隻有一個實現。
將Validator實例注入更高級別的類時,這是否會失敗反轉原理的依賴關係?
如果我使用的接口該類它會導致命名問題
我們使用的接口,因爲它們有助於用於交換的實現,在單元測試,當然抽象的嘲諷。
當將Validator實例注入更高級別的類時,這是否失敗了倒置原理的依賴關係?
據DIP,Validator
應該實現IValidator
和類需要它應該只是知道IValidator
契約,而不是Validator
定義本身。但是,IOC容器(例如Unity)允許您註冊類類型而不是接口。
這只是一個原則,可以有一個有效的例外,不按照原樣。在像你這樣的情況下,我會更多地關注DIP,IOC和DI的核心意圖;那就是有鬆散耦合的代碼。如果我確信只有一個實現,我會毫不猶豫地創建接口。
我只想確保沒有任何東西除了我的IOC容器實例化Validator
。
*如果我要爲這個類使用接口,它會導致一個命名問題* - 你是什麼意思? – niksofteng