依赖注入 – 依赖注入接口对具体类?
发布时间:2020-12-14 04:58:48 所属栏目:百科 来源:网络整理
导读:我对DI中的几点感到困惑.让我解释: 首先,依赖注入是否必须遵循依赖性倒置原则? 如果是这样,我们就不能将具体的类实例注入依赖.因为,此操作违反了DIP. 让我们通过一个例子问我的问题: public class Client {private Service service; // Service is concre
我对DI中的几点感到困惑.让我解释:
首先,依赖注入是否必须遵循依赖性倒置原则? 如果是这样,我们就不能将具体的类实例注入依赖.因为,此操作违反了DIP. 让我们通过一个例子问我的问题: public class Client { private Service service; // Service is concrete class ! Client(Service service) {this.service = service;} } 所以在这个例子中,依赖和依赖都是具体的.这违反了DIP原则,我们可以说这是依赖注入吗?在我的意见中,是的,我们可以.因为DI是所有对象创建,这些代码履行实际职责并从依赖中获取创建对象的操作.但同时它也没有遵循DIP.我在等你的想法:) 解决方法
不,不.依赖注入只是从外部将依赖项注入组件的实践,而不是让组件创建或请求这些依赖项. 因此,虽然您可以在不遵循依赖性倒置原则的情况下应用依赖注入,但遵循DIP通常是一种很好的做法,因为DIP促进了松散耦合,这使得更容易更换,装饰,拦截和模拟依赖性,从而提高了可测性,灵活性和可维护性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails – “patch”rails渲染函数编辑默认选项
- objective-c – 在XCode中的自定义/用户代码段中添加时间和
- c – 为什么没有QTransform :: fromRotate?
- c# – 如何在.NET中自动换行注释?
- Oracle安装时忘记设置密码
- c# – Convert.ToDateTime(‘Datestring’)到日期所需的dd-
- xml – @comment()在XPath中做了什么?
- 在哪里将您的SQLite数据库文件在iPhone应用程序?
- 如何对私有方法进行单元测试?(依据推荐等级排序)
- vb.net 将DataGridView数据导入到Excel的方式