0
我有一个具体的类:验证器,可以完成一件事情。控制原理失败 - 单个混凝土类
我没有必要创建一个接口,因为这只有一个实现。
将Validator实例注入更高级别的类时,这是否会失败反转原理的依赖关系?
如果我使用的接口该类它会导致命名问题
我有一个具体的类:验证器,可以完成一件事情。控制原理失败 - 单个混凝土类
我没有必要创建一个接口,因为这只有一个实现。
将Validator实例注入更高级别的类时,这是否会失败反转原理的依赖关系?
如果我使用的接口该类它会导致命名问题
我们使用的接口,因为它们有助于用于交换的实现,在单元测试,当然抽象的嘲讽。
当将Validator实例注入更高级别的类时,这是否失败了倒置原理的依赖关系?
据DIP,Validator
应该实现IValidator
和类需要它应该只是知道IValidator
契约,而不是Validator
定义本身。但是,IOC容器(例如Unity)允许您注册类类型而不是接口。
这只是一个原则,可以有一个有效的例外,不按照原样。在像你这样的情况下,我会更多地关注DIP,IOC和DI的核心意图;那就是有松散耦合的代码。如果我确信只有一个实现,我会毫不犹豫地创建接口。
我只想确保没有任何东西除了我的IOC容器实例化Validator
。
*如果我要为这个类使用接口,它会导致一个命名问题* - 你是什么意思? – niksofteng